我正在使用以下结构的一组目录中工作:
Master/
Subfolder_1/file_1_1.py
file_1_2.txt
Subfolder_2/file_2_1.py
我在file_2_1中导入file_1_1,如下所示:
import sys
sys.path.append('../file_1_1')
file_1_1正在读取位于同一目录中的file_1_2.txt。但是,当我从file_2_1.py调用读取file_1_2.txt的函数时,它没有说明这样的文件和目录,它给我的file_1_2.txt路径为:
Master/Subfolder_2/file_1_2.txt
这是一条错误的道路。在这种情况下,似乎python使用工作目录作为参考。如果我不想为我读取的每个文件包含绝对路径,我该如何解决这个错误。
答案 0 :(得分:1)
不要混淆>>>(substr+appendtxt).join(str.split(substr))
'thisissometextXXthatiwrote'
,并且不要将导入视为对文件和目录起作用。最终所有东西都必须存放在某个文件中,但模块层次结构比“用斜线替换点并在末尾粘贴.py”更微妙。
您几乎肯定希望进入sys.path
并运行Master
。您可以使用pkg_resources获取文本文件:
python -m Subfolder_1.file_1_1
答案 1 :(得分:0)
info=[]
with open(os.path.realpath('yourtextfile.txt','r') as myfile:
for line in myfile:
info.append(line)