2013-11-06 10 views
0

Если мы можем напрямую обращаться к файлам и управлять ими в других каталогах (например, используя код Python ниже), когда нам нужно изменить текущий рабочий каталог? В чем преимущество изменения текущего каталога?Почему нам нужно изменить текущий каталог?

import os 
print(os.getcwd()) 
f=open(os.path.join(os.getcwd(),"test_folder")+"\\testfile","w") 
f.close() 
print(os.getcwd()) 
os.makedirs("test_folder_2") 
print(os.getcwd()) 

Выход:

c:\Users\me 
c:\Users\me 
c:\Users\me 
+2

На самом деле нет необходимости отмечать этот «python», поскольку это не вопрос Python. –

+0

может быть его логикой, отличающейся другим языком, которого я не знаю !! – alizx

+0

Это не так, поэтому я ответил на вопрос. –

ответ

4

В примере вы не изменяя рабочего каталога. Вы просто получаете (печатаете) его. Вам не нужно менять рабочий каталог. Но это так же, как вы перемещаете свои файлы из проводника, чтобы ваши файлы были организованы. Иногда это делается для прав доступа к файлам.

+0

Если я хочу манипулировать файлом в подпапке текущего рабочего каталога, необходимо ли изменить текущий каталог работы? – alizx

+0

Конечно нет. Просто войдите в файл с помощью пути. – Matthias

+0

Я думаю, вам нужно изучить абсолютные, относительные пути и разрешения файлов. Те помогут вам ... – scriptmonster

0

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

# a.py 
import os 
print "\tcwd:", os.getcwd() 
print "\tpth:", os.path.abspath("a") 

Теперь из коробки душ, вы получите следующий результат:

C:\Users\user> python a.py 
     cwd: C:\Users\user 
     pth: C:\Users\user\a 
C:\Users\user> cd .. 
C:\Users> python user\a.py 
     cwd: C:\Users 
     pth: C:\Users\a 

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

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