2013-03-04 2 views
0

У меня возникли проблемы с открытием файлов, python (2.7) сообщает мне, что такого файла нет, но есть.Не удается открыть файл в python

 csvData = None 
     csvHeader = None 
     os.chdir("../result/files/") 
     for fileName in os.listdir("."): 
      if fileName.endswith(".csv"): 
       print fileName 
       with open("../result/files/"+fileName, 'rb') as csvFile: 
        readerCsv = reader(csvFile, delimiter = ';') 
        csvHeader = readerCsv.next() 
        _unused = readerCsv.next() 
        self.data = list.append(list(readerCsv)) 

этот код suposed читать 5 CSV файлов и хранить их содержание в данных (за исключением первой строки)

На первом Chdir говорит мне, что он нашел Stats20120903.csv тогда я задаю программу, чтобы открыть указанный файл, но я получаю сообщение об ошибке:

IOError: [Errno 2] No such file or directory: '../files/Stats20120903.csv' 

Почему?

Благодаря

ответ

1

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

Вы должны либо

  • удалить os.chdir("../result/files/") и вызвать os.listdir ("../ результат/файлы /") или
  • не добавить "../result/files/" к имени файла, который вы хотите открыть.
+0

удаление os.chdir ("../ result/files /") и замена "." от "../result/files/" работал, спасибо –

1

ли

with open(fileName, 'rb') as csvFile: 

вместо того, чтобы искать относительно каталога, вы изменили в.

0

Вы можете попытаться использовать os.path.abspath(), чтобы узнать, какой фактический путь пытается использовать Python.

Смежные вопросы