打印目录中所有文件的内容

2024-04-30 02:40:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图去一个目录,打印出所有文件的内容。你知道吗

for fn in os.listdir('Z:/HAR_File_Generator/HARS/job_search'):
    print(fn)

当我使用这个代码时,它所做的就是打印出文件名。我怎样才能得到文件的内容呢?我已经看到了很多方法可以做到这一点,但我想知道是否有一种方法可以做到同样的格式,因为我有它。我无法获取文件内容而不是名称,这对我来说毫无意义。对我来说有意义的是做fn.read()然后把它打印出来,但这不起作用。你知道吗


Tags: 文件方法in目录内容forsearchos
3条回答
directory = 'Z:/HAR_File_Generator/HARS/job_search'
for fn in os.listdir(directory):
   print(open(os.path.join(directory, fn), 'rb').read())

编辑:你可能也应该关闭你的文件,但这是一个单独的问题。你知道吗

假设它们是可以打印的文本文件:

dirpath = 'Z:/HAR_File_Generator/HARS/job_search'
for fn in os.listdir(dirpath):
    with open(os.path.join(dirpath, fn), 'r') as f: # open the file
        for line in f: # go through each line
            print(line) # and print it

或者,在Python3(或具有适当导入的Python2)中:

dirpath = 'Z:/HAR_File_Generator/HARS/job_search'
for fn in os.listdir(dirpath):
    with open(os.path.join(dirpath, fn), 'r') as f: # open the file
        print(*f, sep='') # and send every line to the print function
mydir = 'Z:/HAR_File_Generator/HARS/job_search'

for fn in os.listdir(mydir):
    print open(mydir+'/'+fn).readlines()

为什么您的代码不打印任何文件内容?因为您没有读取任何文件内容。你知道吗

印刷精美。。你知道吗

for fn in os.listdir(mydir):
    for line in open(mydir+'/'+fn).readlines():
        print line

为了避免在文件大得多的情况下出现关闭问题

for fn in os.listdir(mydir):
    with open(mydir+'/'+fn) as fil:
        print fil.readlines()

相关问题 更多 >