2016-08-16 4 views
0

Я пытаюсь сохранить мой CSV-файл, который является результатом некоторых запросов в том же месте, что и файл .py.Сохраните CSV-файл в том же каталоге, что и .py-файл

import os 
with open(os.path.dirname(os.path.abspath(__file__))+'MyCSVFile.csv','wb') as output_file: 
    dict_writer = csv.DictWriter(output_file, keys) 
    dict_writer.writeheader() 
    dict_writer.writerows(myList) 

Мне всегда кажется, что мой CSV-файл находится в одном каталоге раньше. Когда я печатаю os.path.dirname (os.path.abspath (__ file__)), он дает мне правильный путь, но выходной файл MyCSVFile сохраняется один выше. В чем проблема?

ответ

2

Вы должны использовать os.path.join, чтобы сохранить файл CSV в том же каталоге

import os 

dirname = os.path.dirname(os.path.abspath(__file__)) 
csvfilename = os.path.join(dirname, 'MyCSVFile.csv') 

with open(csvfilename, 'wb') as output_file: 
    dict_writer = csv.DictWriter(output_file, keys) 
    dict_writer.writeheader() 
    dict_writer.writerows(myList) 

Это должно работать, как освобожденный

1

Снять звонок до os.path.dirname, так как вы уже звоните os.path.abspath. Вызов dirname возвращает компонент каталога, таким образом вы получаете каталог вверх в иерархии. BTW: используйте os.path.join, чтобы присоединиться к частям каталога.

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