2013-08-18 2 views
0

Я хочу, чтобы мой код перешел в подкаталог, выполните некоторую операцию и сохраните вывод в файле, который находится на один шаг вверх, в главном каталоге.чтение и запись файлов в разные каталоги Python

Главное ---> sub_directory

Я оценил бы решения, которые не требуют «жестко прописывать» путь главного каталога. Есть ли способ, с помощью которого я могу напрямую записывать вывод моего файла в главный каталог без , выполняющий os.chdir() каждую итерацию? Что-то вроде того, что нужно пропустить путь к файлу для чтения и записи?

Для например:

# example 
import os 

for i in xrange(10): 
    code to read and operate on some file in this sub dir one by one (ten files) 
    # write output file to the previous directory 
    # without hardcoding the path 
    code to write files to main directory (ten files) 
+0

Что такое каталог 'main'? текущий рабочий каталог? каталог, в котором находится скрипт? – falsetru

ответ

0

Вы, вероятно, хотите, чтобы проверить каталог файл операционной внутри или проверить текущий рабочий каталог:

import os 
cur_dir= os.getcwd() 
top_dir = os.path.dirname(cur_dir) 

# perform operations in current directory 
# do some stuff in top directory 
0

Предполагая, что вы начинаете в главном каталоге, и вы знаете (относительный) путь к подкаталогам, просто сделайте

open(os.path.join(subdir, filename)) 

для доступа к пути в ubdirectory без фактического изменения текущего каталога.