python@import | 您所在的位置:网站首页 › python导入其他函数的关键字 › python@import |
在Python中,当启动一个脚本时,Python解释器会将脚本所在的目录添加到sys.path中,以便能够导入与脚本同一目录下的模块。因此,默认情况下,当前目录会被自动添加到sys.path中。 例如,在当前目录下有一个名为"module.py"的模块,如果在同一目录下有一个名为"script.py"的脚本,那么在"script.py"中可以直接导入"module.py",且不需要将当前目录添加到sys.path中。例如: # script.py import module # do something with module如果在脚本所在的目录之外运行"script.py",则必须将当前目录添加到sys.path中,否则Python解释器将无法找到"module.py"模块。可以使用以下代码将当前目录添加到sys.path中: import sys sys.path.append('.')这将把当前目录添加到sys.path的末尾,使得Python解释器能够找到当前目录下的模块。 试验: PS C:\Users\cxxu\Desktop> python -c "import sys;print('\n'.join(sys.path))"|sls desktop C:\Users\cxxu\Desktop 例如,windows上,在在powershell中将当前目录调整到desktop(桌面)执行python -c "import sys;print('\n'.join(sys.path))"|sls desktop,可以看到打印了当前目录(桌面目录)可以切换目录再试试,发现当前目录总是会被添加到sys.path这也是为什么,可以直接以模块名的方式导入兄弟模块JetBrains IDE的特性 据说pycharm还会将项目的根目录一起添加到sys.path中但是注意运行方式不是在终端上以python xxx.py的方式运行(这样IDE没有机会作额外的处理)以右键py文件的方式运行,可以将项目根目录添加到sys.path中(或快捷键ctrl+shift+F10)试验 我在IDEA+python插件的环境下,也会自动添加根目录到sys.path中 import sys for var in sys.path: print(var) # print(sys.path) D:\condaPythonEnvs\pyside6\python.exe D:\repos\CCSER\emotion-recognition-using-speech\mypackage\subpackage\sys_path_cwd.py D:\repos\CCSER\emotion-recognition-using-speech\mypackage\subpackage D:\repos\CCSER\emotion-recognition-using-speech D:\repos\ThinkDSP\code因此,对于IDE,使用不同的运行方式,在导包方面,可能会有不同的运行结果 为了保证程序的一致性,不建议依赖IDE的这类功能 |
CopyRight 2018-2019 实验室设备网 版权所有 |