使用os.listdir()(python)从文件列表中读取文件的内容

时间:2016-12-23 12:12:55

标签: python

我需要从os.listdir目录中的文件列表中读取文件的内容。我的 scriptlet 工作如下:

import os

path = "/Users/Desktop/test/"
for filename in os.listdir(path):
    with open(filename, 'rU') as f:
      t = f.read()
      t = t.split()
      print(t)

print(t)为我提供目录中所有文件的所有内容(path)。

但我喜欢在第一个文件上打印内容,然后在第二个文件中打印内容,依此类推,直到所有文件都从dir中读取。

请指导!感谢。

3 个答案:

答案 0 :(得分:0)

您可以打印文件名。 在文件名后打印内容。

import os

path = "/home/vpraveen/uni_tmp/temp"

for filename in os.listdir(path):

    with open(filename, 'rU') as f:
      t = f.read()
      print filename + " Content  : "
      print(t)

答案 1 :(得分:0)

os.listdir仅返回文件的名称。你需要os.path.join这个名称和文件所在的路径 - 否则python会在你当前的工作目录(os.getcwd())中查找它们,如果发生这种情况与{{1}不一样} python将找不到文件:

path

如果您有pathlib,您还可以:

import os

path = "/Users/Desktop/test/"

for filename in os.listdir(path):
    print(filename)
    file_path = os.path.join(path, filename)
    print(file_path)
    ..

答案 2 :(得分:0)

首先,您应该使用 $http(likereque).then(function successCallback(){ alert("Liked Successfully"); dat.likebtnname="Liked"; }, errorCallback function(){ alert("try again"); }); } 找到每个文件的路径。否则,如果更改变量os.path.join(path, filename),则会循环错误的文件。其次,您的脚本已经提供了从第一个文件开始的所有文件的内容。我在脚本中添加了几行来打印文件路径和一行空行以查看内容的结束和开始:

path