>> os.chdi-6ren">
gpt4 book ai didi

python - 是否有可能某些东西在 python ide 中起作用但在脚本中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 10:56:57 25 4
gpt4 key购买 nike

奇怪的是...我正在努力从不同的文件夹导入文件..并且正在研究 python ide..

所以我的ide代码:

>>> import os
>>> os.chdir("..")
>>> os.chdir("lib")
>>> os.chdir("native")
>>> os.getcwd()
'/.../.../Programming/lib/native'
>>> from category import *

效果很好但在我的 python 文件中完全相同:

import os
import sys
#get current working directory
cur_dir = os.getcwd()
#move up one level
os.chdir("..")
new_cur_dir = os.getcwd()
print new_cur_dir
#move down to native
try:
os.chdir("lib")
print os.getcwd()
except IOError as e:
sys.exit("Exitting: 'lib' folder missing!!")

try:
os.chdir("native")
print os.getcwd()
from category import *
from pilottest import *
from datainstance import *
from similar import *
from collections import defaultdict
from item import *
from pilottest import *
from infernumber import *

except IOError as e:
sys.exit("Exitting: 'native' folder missing!!")

错误:

/../../Programming
/../../Programming/lib
/../../Programminglib/native
Traceback (most recent call last):
File "foo.py", line 25, in <module>
from category import *
ImportError: No module named category

最佳答案

在解释器中运行代码时,sys.path 的第一个条目是一个空字符串,表示当前目录。但是,当您从文件运行代码时,sys.path 的第一个条目是您运行脚本的目录的完全限定路径。

这意味着当您在解释器中更改目录时,您始终可以从当前目录进行导入,但对于从文件运行则不然。

如果您希望始终能够从脚本中的当前目录导入,请将以下行添加到文件顶部:

import sys
sys.path.insert(0, '')

关于python - 是否有可能某些东西在 python ide 中起作用但在脚本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9069612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com