Как импортировать файлы в python, используя sys.path.append?
На моем рабочем столе две директории,DIR1
а такжеDIR2
которые содержат следующие файлы:
DIR1:
file1.py
DIR2:
file2.py myfile.txt
Файлы содержат следующее:
file1.pyimport sys
sys.path.append('.')
sys.path.append('../DIR2')
import file2
file2.pyimport sys
sys.path.append( '.' )
sys.path.append( '../DIR2' )
MY_FILE = "myfile.txt"
myfile = open(MY_FILE)
myfile.txtsome text
Теперь есть два сценария. Первое работает, второе выдает ошибку.
Сценарий 1I cd
вDIR2
и бегиfile2.py
и это работает без проблем.
I cd
вDIR1
и бегиfile1.py
и это выдает ошибку:
Traceback (most recent call last):
File "<absolute-path>/DIR1/file1.py", line 6, in <module>
import file2
File "../DIR2/file2.py", line 9, in <module>
myfile = open(MY_FILE)
IOError: [Errno 2] No such file or directory: 'myfile.txt'
Однако это не имеет смысла для меня, так как я добавил путь кfile1.py
используя командуsys.path.append('../DIR2')
.
Почему это происходит, когдаfile1.py
, когдаfile2.py
находится в том же каталоге, что иmyfile.txt
пока что выдает ошибку? Спасибо.