2014-11-06 1 views
0

Не могли бы вы помочь мне с приведенным ниже кодом? Я не понимаю, почему его не печатает содержимое файла txt в папке?Импорт данных из txt-файла через python

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'? –

ответ

2

os.listdir только возвращает имена без корневой папки. Для того, чтобы прочитать файлы, вам придется иметь дело с полным путем:

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

Большое спасибо! работает – Prix

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, вы можете изменить свой собственный код, чтобы сделать эту работу.