可能是一个简单的查询..但基本上,我在目录"/foo/bar/foobar.txt"
我正在目录"/some/path/read_foobar.py"
中工作..
现在我想阅读文件" foobar.txt"但我没有给出完整的路径,而是考虑将/ foo / bar /添加到路径中。
所以,在read_foobar.py
的开头添加了以下内容import sys
sys.path.append("/foo/bar")
但是当我尝试阅读open("foobar.txt","r")
时,它无法找到该文件?
我该怎么做呢?
感谢
答案 0 :(得分:2)
sys.path
用于设置用于查找python模块的路径。如果没有编写一些帮助函数,它在打开文件时有一个要搜索的目录列表,我不相信有一个提供此功能的标准模块。
答案 1 :(得分:2)
从我从here收集的内容和一些快速测试中,在sys.path
文件/模块时,向import
添加路径会在该路径中进行python搜索,但不会在open
{1}} - 它。假设我们在foo.py
/foo/bar/
的文件
import sys
sys.path.append("/foo/bar/")
try:
f = open('foo.py', 'r')
except:
print('this did not work') # this will print
import foo # no problems here
答案 2 :(得分:2)
你可以这样做:
import os
os.chdir('/foo/bar')
f = open('foobar.txt', 'r')
答案 3 :(得分:1)
不幸的是,你不能。 PATH环境变量仅供操作系统用于搜索可执行文件文件,python使用它(连同环境变量PYTHONPATH)来搜索要导入的python模块。
您可能需要考虑从当前工作目录
设置指向该文件的符号链接ln -s /foo/bar/foobar.txt /some/path/foobar.text