Python:从另一个目录导入文件

时间:2015-05-14 08:11:08

标签: python import module

我正在使用以下结构的一组目录中工作:

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使用工作目录作为参考。如果我不想为我读取的每个文件包含绝对路径,我该如何解决这个错误。

2 个答案:

答案 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)