python@import 您所在的位置:网站首页 python导入其他函数的关键字 python@import

python@import

2023-07-22 05:45| 来源: 网络整理| 查看: 265

在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 实验室设备网 版权所有