Python中sys.path.append和os.environ["PATH"]及export PATH几者区别

  • sys.path.append

sys.path其实是Python的搜索路径集

>>> import sys
>>> sys.path
['', 'C:\\Python\\python36.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 
'C:\\Python', 'C:\\Python\\lib\\site-packages']
>>>

如果要动态添加Python路径,可以使用append方法

>>> import sys
>>> sys.path.append("D:\\django\\web")
>>> sys.path
['', 'C:\\Python\\python36.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 
'C:\\Python', 'C:\\Python\\lib\\site-packages', 'D:\\django\\web']
>>>

备注: 上面的添加只是临时添加,如果退出当前会话,或者当前的shell,就会消失。

  • os.environ['PATH']

os.environ是一个字典,一系列的键、值对存储在该字典中,系统环境信息全部存储在该字典中

>>> import os
>>> os.environ.keys()
['LNKEVN', 'TMP', 'COMPUTERNAME', 'USERDOMAIN', 'PSMODULEPATH', 'COMMONPROGRAMFILES', 'PROCESSOR_IDENTIFIER', 'PROGRAMFILES', 'PROCESSOR_REVISION', 'SYSTEMROOT', 'PATH', '_DFX_INSTALL_UNSIGNED_DRIVER', 'PROGRAMFILES(X86)', 'WINDOWS_TRACING_FLAGS', 'TEMP', 'COMMONPROGRAMFILES(X86)', 'PROCESSOR_ARCHITECTURE', 'ALLUSERSPROFILE', 'LOCALAPPDATA', 'HOMEPATH', 'JAVA_HOME', 'PROGRAMW6432', 'USERNAME', 'WORKON_HOME', 'LOGONSERVER', 'PROMPT', 'SESSIONNAME', 'PROGRAMDATA', 'PATHEXT', 'FP_NO_HOST_CHECK', 'WINDIR', 'WINDOWS_TRACING_LOGFILE', 'HOMEDRIVE', 'SYSTEMDRIVE', 'COMSPEC', 'NUMBER_OF_PROCESSORS', 'APPDATA', 'PROCESSOR_LEVEL', 'COMMONPROGRAMW6432', 'OS', 'PUBLIC', 'USERPROFILE']
>>>

os.environ('环境变量名称')  = "环境变量值",常见的值如下:

  • os.environ['HOMEPATH']             # 当前用户主目录
  • os.environ['TEMP']                       # 临时目录路径
  • os.environ[PATHEXT']                  # 可执行文件
  • os.environ['SYSTEMROOT']        # 系统主目录
  • os.environ['LOGONSERVER']      # 机器名
  • os.environ['PROMPT']                  # 设置提示符
  • os.environ['PATH']                        # 系统环境信息

此外可使用os.environ["PATH"] += "新系统环境值",来添加新环境信息。

>>> import os
>>> os.environ["PATH"] += "D:\\ENVS"
>>> os.environ["PATH"]
'C:\\Python27\\;C:\\Python27\\Scripts;......;D:\\ENVS'
>>>

备注: 通过上面的方式添加也只是临时性添加,退出会话后自然恢复原来的值。

  • export PATH

通过export PATH=$PATH:/NewDir可以临时设置系统环境变量,如果要长久生效,必须将export语句放置在/etc/profile文件或者~/.bashrc文件中。

从上面可以得出结论: 

  • sys.path.append       # 用于临时性添加Python搜索路径
  • os.environ['PATH']    # 用于临时性设置Linux操作系统环境变量,一般是/bin目录下的可执行文件路径
  • export PATH             # 用于临时性或永久性设置系统环境变量

 

 

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在Pythonsys.path是一个列表,用于存储模块的搜索路径。当我们使用import语句导入模块时,Python会在sys.path列出的路径搜索相应的模块。 使用sys.path.append()函数可以向sys.path列表添加新的搜索路径。如果我们想要导入上级目录的模块或子文件,就可以使用sys.path.append()函数添加上级目录的路径。 例如,假设我们有一个文件夹结构如下: ``` project/ module/ __init__.py module.py utils/ __init__.py utils.py main.py ``` 如果我们想在main.py导入module.py和utils.py,就可以使用sys.path.append()函数添加相应的搜索路径: ```python import sys sys.path.append('../module') sys.path.append('../utils') import module # 导入module.py import utils # 导入utils.py ``` 在上面的代码,我们将../module和../utils分别添加到sys.path,使得Python可以在这两个路径搜索相应的模块。 需要注意的是,使用sys.path.append()函数添加搜索路径并不会永久生效,只会在当前会话有效。如果想要永久添加搜索路径,可以修改PYTHONPATH环境变量。 ### 回答2: pythonsys.path.append()是用来添加模块搜索路径的函数,使用该函数可以将所需的模块路径添加至系统模块搜索路径列表sys.path.append() 是向sys.path列表末尾 添加一个模块搜索路径。在Python,一个包package通常包含多个模块module,这些模块通常保存在同一个文件夹下,该文件夹就是这个包的目录。使用sys.path.append()函数可以将这个目录添加到Python的模块搜索路径列表,从而能够快速地找到该目录下的所有模块。 例如,我们在项目需要使用上一级目录的模块,此时可以使用sys.path.append()函数将上级目录添加到模块搜索路径列表。具体实现可以按以下步骤进行: 1.使用os模块获取当前文件所在的目录路径,这可以通过os.path.dirname(__file__)函数来实现。 2.使用os.path.abspath()函数获取当前目录的绝对路径。 3.使用os.path.join()函数将当前目录的父目录与要添加的路径拼接起来,即可得到上级目录的路径。 4.使用sys.path.append()函数将上级目录路径添加至模块搜索路径列表。 下面是一个简单的示例代码,假设我们需使用上级目录的模块mymodule作为一个函数: ``` python import os import sys # 获取当前文件所在的目录路径 cur_path = os.path.dirname(__file__) # 获取当前目录的绝对路径 cur_path = os.path.abspath(cur_path) # 获取上一级目录的路径 parent_path = os.path.join(cur_path, '..') # 将上级目录路径添加到sys.path列表末尾 sys.path.append(parent_path) # 导入上级目录的mymodule模块 import mymodule # 调用mymodule的函数 mymodule.myfunction() ``` 以上代码将上级目录路径添加到模块搜索路径列表,因此可以成功地导入上级目录的模块。其,mymodule是上级目录的模块,myfunction是mymodule模块的一个函数。 ### 回答3: 在Pythonsys.pathPython搜索module的路径列表,所有在该列表的路径下的module都可以被Python引入并使用。常见的情况是,我们需要使用自己或他人编写的库,但是这些库文件并不在Python内置库或Python安装目录下,而是放在自定义路径下,为了能够让Python找到这些库文件,就需要将这些路径添加到sys.path。 在添加路径时,不仅可以添加当前目录、Python内置库、Python安装目录等路径,还可以添加上级目录下的子目录路径,以此使Python可以直接找到这些包和模块。 使用sys.path.append()函数可以将路径添加到sys.path,可以添加绝对路径或相对路径。在添加上级目录子文件的路径时,可以使用os模块和os.path模块来获取指定路径的上级目录路径,并通过sys.path.append()来添加上级目录子文件的路径。 例如,我们可以在当前Python文件添加上级目录子文件的路径方式如下: import sys import os #获取当前文件的路径 current_path = os.path.abspath(__file__) #获取当前文件的上级目录路径 current_dir = os.path.dirname(current_path) #获取上级目录的上级目录路径 parent_path = os.path.abspath(os.path.join(current_dir, "..")) #添加上级目录子文件 sys.path.append(parent_path) 这样,我们就可以通过Python的import语句直接引入上级目录子文件的模块和子模块了。通过该方法,我们可以更方便地调用上级目录下子文件的模块,使得项目的模块结构更加清晰合理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值