Python 即使cwd已更改,也可以访问文件
下面的代码非常有效:Python 即使cwd已更改,也可以访问文件,python,python-3.x,io,chdir,Python,Python 3.x,Io,Chdir,下面的代码非常有效: with open('data.txt') as data: print(data) 但是如果我使用os.chdir更改CWD,它将无法工作 是否有一种方法可以在仍然能够更改CWD的情况下访问该文件 注意:CWD的更改方式将取决于用户如何使用它。一个选项是在更改目录之前打开文件 with open('data.txt') as data: ... os.chdir(...) ... print(data) 另一个选项是在更改之前保
with open('data.txt') as data:
print(data)
但是如果我使用os.chdir
更改CWD,它将无法工作
是否有一种方法可以在仍然能够更改CWD的情况下访问该文件
注意:CWD的更改方式将取决于用户如何使用它。一个选项是在更改目录之前打开文件
with open('data.txt') as data:
...
os.chdir(...)
...
print(data)
另一个选项是在更改之前保存原始目录,并使用它形成绝对路径:
orig_dir = os.getcwd()
os.chdir(...)
...
with open(os.path.join(orig_dir, 'data.txt')) as data:
print(data)
我认为这是不可能的,但我建议,如果您计划部署它,请发出一条错误消息,告诉用户将要打开的文件放在与python脚本相同的目录中。谢谢您的回答 但我想是我自己弄的 在调用
os.chdir
函数之前,
我能做到
from pathlib import Path
datafile = Path('data.txt').absolute()
然后,我将在运行此操作的任何计算机中获取绝对路径。使用文件的绝对路径,而不是相对路径。也许您可以在更改目录之前打开文件。