Heim  >  Artikel  >  Backend-Entwicklung  >  So lesen Sie den Inhalt eines Ordners in Python

So lesen Sie den Inhalt eines Ordners in Python

步履不停
步履不停Original
2019-07-03 09:50:107756Durchsuche

So lesen Sie den Inhalt eines Ordners in Python

看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是

So lesen Sie den Inhalt eines Ordners in Python

这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来, 没有把找到的文件单独拿出来, 因为我的需求达到了,扩展项目是后来的人需要做的事情),话不多说,贴代码

#!/usr/bin/env python
# encoding: utf-8
'''
1、读取指定目录下的所有文件
2、读取文件,正则匹配出需要的内容,获取文件名
3、打开此文件(可以选择打开可以选择复制到别的地方去)
'''
import os.path
import re
 
 
# 遍历指定目录,显示目录下的所有文件名
def eachFile(filepath):
    pathDir =  os.listdir(filepath)
    for allDir in pathDir:
        child = os.path.join('%s\%s' % (filepath, allDir))
        if os.path.isfile(child):
            readFile(child)
#             print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题
            continue
        eachFile(child)
   
# 遍历出结果 返回文件的名字
def readFile(filenames):
        fopen = open(filenames, 'r') # r 代表read
        fileread = fopen.read()
        fopen.close()
        t=re.search(r'clearSpitValve',fileread)
        if t:
#             print "匹配到的文件是:"+filenames
            arr.append(filenames)       
 
if __name__ == "__main__":
    filenames = 'D:\java\\answer\\Thinking in Java4 Answer' # refer root dir
    arr=[]
    eachFile(filenames)
    for i in arr:
        print i

满足我的需求,需要做的事情 分3步

1、读取指定目录下的所有文件
2、读取文件,正则匹配出需要的内容,获取文件名
3、打开此文件<br><br> 相对于java来说 ,用python写的话能少写20行左右的代码,生产效率大大提高。人都舒服点

Das obige ist der detaillierte Inhalt vonSo lesen Sie den Inhalt eines Ordners in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn