2014-11-06 104 views
0

你能帮我解决下面的代码吗?我不明白为什么不打印文件夹中的txt文件的内容?通过python从txt文件导入数据

import os 
directory = raw_input("Provide the folder location") 
for files in os.listdir(directory): 
    if files.endswith(".txt"): 
     f=open(files, 'r') 
     for line in f.readlines(): 
      print line 
+0

尝试打印'文件'?它存在吗?它是否以'.txt'结尾? – 2014-11-06 08:08:03

回答

2

os.listdir只返回没有根文件夹的名称。 为了读取这些文件,你必须处理的完整路径:

fileFullPath = os.path.join(directory, files) 
+0

非常感谢!它的工作 – Prix 2014-11-06 09:32:17

0

,因为你试图打开的文件名,而不是完整的文件路径

你需要你不打开文件将该目录添加到打开的方法中。

f=open(directory + files, 'r') 

那么它应该工作。 当您尝试运行代码时,您很可能会遇到FileNotFoundError错误。

import os 
dir = 'G:\Dev\\' 
for files in os.listdir(dir): 
    if files.endswith(".txt"): 
     f=open(dir + files, 'r') 
     for line in f.readlines(): 
      print (line) 

此代码具有硬编码目录。 raw_input已将名称更改为在python3中输入,您可以修改自己的代码以使其工作。