例如,如果我有:结果 C:\ 42 \ main.py结果 和结果 C:\ 42 \ info.txt结果 我想从main.py读info.txt,我要输入 “C:\ 42 \ info.txt” 只是 “info.txt” 的instad

时,它应该是这样呢?结果 如果没有,我怎么能解决这个问题?

有帮助吗?

解决方案

您可以指定相对于您的脚本路径。编写单元测试时,我做这一切的时候。

每个Python文件具有特殊的属性 - __file__ - ,其存储的路径到该文件。

py_file= os.path.abspath(__file__) # path to main.py
py_dir = os.path.dirname(py_file) # path to the parent dir of main.py
txt_file = os.path.join(py_dir, 'info.txt') # path to info.txt

其他提示

它应该是这样的。相对路径是相对于当前进程的工作目录,而不是目录,你的脚本位于

而不是硬编码,你可以找到使用sys.path[0]脚本的路径,要么chdir它或直接在文件名中使用它:

os.path.join(sys.path[0], 'info.txt')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top