python路径/模块搜索路径/当前目录/site模块详解(tcy)

 

   1.python打包setuptools实例详述(一篇文章学会打包)(tcy)

   2.python路径/模块搜索路径/当前目录/site模块详解(tcy)https://mp.csdn.net/postedit/92018710(本文)

   3.python setuptools参数https://mp.csdn.net/postedit/91886555

   4.创建打包文件https://mp.csdn.net/postedit/91883300

   5.包的导入https://mp.csdn.net/postedit/91645878

   6.蟒蛇模块与包https://mp.csdn.net/postedit/91651312

   7.蟒蛇包的安装https://mp.csdn.net/postedit/91647056

模块搜索路径                                   2019/6/15

1.1.说明:
    # 导入模块解释器首先搜索内置模块;
    # 如无将在变量sys.path 给出目录列表中搜索,列表索引先后决定搜索优先级。
    # https://blog.csdn.net/lcalqf/article/details/80842708

1.2.sys.path列表优先级排序:
    # 第一优先级为当前执行脚本的目录(或当前目录)
    # 第二优先级为PYTHONPATH;
    # 第三优先级为安装位置。
1.3.动态增加路径 --临时生效
    # sys.path.append(r'/主目录/filename')#加在sys.path的最后
    # sys.path.append(os.path.expanduser(r'/主目录/filename'))
    # sys.path.insert(0,PATH/filename)    #加在sys.path的最前

1.4.改变当前路径
    os.chdir(r'D:\atcy')
    os.chdir(sys.path[0])#改变当前路径
    print(os.path.abspath('test.py'))# 文件操作现在是相对于D:\atcy #D:\atcy\test.py

备注:路径拆分合并
    path,math=os.path.split(os.path.realpath(__file__))# ('D:\\atcy', 'test.py')
    a=os.path.join(path,math)                          # D:\atcy\test.py
2.当前目录,脚本目录

2.0.os.curdir
os.curdir=='.'     #True
2.1.获取当前目录

a01 = os.getcwd()          #主程序绝对路径(子程序相同) # D:\atcy\atcy 和平台有关
a10 = os.path.abspath('.') #主程序绝对路径(子程序相同) # D:\atcy\atcy
a13 = os.path.realpath('.')
# ===================================================================================
2.2.os.path.dirname获取当前目录或上级目录

os.path.dirname(r'D:\atcy\atcy')          #返回上级目录'D:\\atcy'
os.path.dirname(r'D:/atcy/atcy/a_path.py')#返回当前目录 'D:/atcy/atcy'
a07 = os.path.dirname(a05)                #当前执行脚本的上级目录--主程序:D:/atcy 子程序:D:/atcy/atcy
a21 = os.path.abspath(
    os.path.dirname(os.path.dirname(__file__)))#当前执行脚本的上级目录(结果同上)

 

2.3.__file__当前执行脚本路径+文件名

a02 = __file__                  #当前执行脚本路径--主程序: D:/atcy/atcy/a_path.py
                                #当前执行脚本路径--子程序: D:/atcy/atcy/Package_A/aa_path.py

a08 = os.path.abspath(__file__) #当前执行脚本路径--主程序:D:\atcy\atcy\a_path.py
                                #               --子程序:D:\atcy\atcy\Package_A\aa_path.py

a09 = os.path.realpath(__file__)#当前执行脚本路径--主程序:D:\atcy\atcy\a_path.py
                                #               --子程序:D:\atcy\atcy\Package_A\aa_path.py
# ===================================================================================
2.4.__file__当前执行脚本路径
a05 = os.path.dirname(__file__)#当前执行脚本路径--主程序:D:/atcy/atcy
                               #               --子程序:D:/atcy/atcy/Package_A
a12 = os.path.abspath(a05)     #当前执行脚本路径(结果同上)
a15 = os.path.realpath(a05)    #当前执行脚本路径(结果同上)
a16 = os.path.dirname(a09)     #当前执行脚本路径(结果同上)
a17 = os.path.split(a09)[0]    #当前执行脚本路径(结果同上) 和平台无关

 

2.5.当前路径上级路径
a06 = os.path.dirname('.')     #为空
a20 = os.path.abspath('..')    #当前目录的上级目录--主程序:D:\atcy  子程序:D:\atcy
a23 = os.path.abspath(os.path.join(os.getcwd(), ".."))#当前目录的上级目录(结果同上)

2.6.当前路径上上级路径
a30 = os.path.abspath(os.path.join(r'D:\a01\a02\a03', "../.."))  # D:\a01
a31 = os.path.abspath(os.path.join(r'D:\a01\a02', "../.."))  # D:\
a32 = os.path.abspath(os.path.join(r'D:\a01', "../.."))  # D:\
a33 = os.path.abspath(os.path.join(r'D:', "../.."))  # D:\

 

2.7.系统路径
a34 = sys.path  # 获取系统路径;由环境变量PYTHONPATH初始化得到
"""['','C:\\ProgramData\\Anaconda3\\python36.zip',...]"""
a35 = sys.path[0]  # 当前脚本所在目录 # 主程序:D:\atcy\atcy 子程序: D:\atcy\atcy

2.8.sys.argv
a36 = sys.argv     # 传给Python脚本指令参数列表 #['D:/atcy/atcy/a_path.py'] #['D:/atcy/atcy/a_path.py']
a37 = sys.argv[0]  # 脚本名字--当前执行脚本的绝对位置(命令行执行为空)  D:/atcy/test.py 和平台有关
                   # 主程序: D:/atcy/atcy/a_path.py  子程序: D:/atcy/atcy/a_path.py

 

3.site模块
# 将特定于站点的路径附加到模块搜索路径,并添加一些内置
# 本模块无论在什么地方执行返回结果相同

a40 = site.PREFIXES          # site-packages目录前缀列表
                             # ['C:\\ProgramData\\Anaconda3', 'C:\\ProgramData\\Anaconda3']
a41 = site.ENABLE_USER_SITE  # 显示用户site-packages目录状态:False禁用
                             # True 意味着它已启用并已添加到sys.path

a42 = site.USER_SITE  # 运行Python的用户站点包的路径
    # 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages'

a43 = site.USER_BASE  # 用户站点包的基本目录的路径
    # Distutils使用此值来计算用户安装方案的脚本,数据文件,Python模块等的安装目录。
    # 'C:\\Users\\Administrator\\AppData\\Roaming\\Python'

a40=site.main()        # 将所有标准站点特定目录添加到模块搜索路径。导入此模块时会自动调用此函数

a44 = site.getsitepackages()  # 返回包含所有全局site-packages目录的列表。
"""
['C:\\ProgramData\\Anaconda3',         
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages'] 
"""

a45 = site.getuserbase()  # 返回用户基目录的路径USER_BASE
    # 'C:\\Users\\Administrator\\AppData\\Roaming\\Python'

a46 = site.getusersitepackages()  # 返回特定于用户的site-packages目录的路径USER_SITE
    # 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages'

site.addsitedir(sitedir, known_paths=None)
    # 将目录添加到sys.path并处理其.pth文件。常用于sitecustomize或usercustomize

 

4.命令行执行
"""D:\atcy>python test.py"""            # D:\atcy\test.py...
"""D:\atcy>./test.py"""                 # 错误
"""D:\atcy>.\test.py或D:\atcy>test.py"""# 打开脚本文件

 

5.获取系统的各种信息:#environ是一个字符串所对应环境的映像对象
1)设置环境变量:
os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型
os.putenv('环境变量名称','环境变量值')
# 实例:
    os.environ ['HSRL_INSTRUMENT'] ='gvhsrl'
    os.environ ['HSRL_CONFIG'] = os.path.expanduser(r '/主目录/hsrl_config')

2)查看环境变量:
    os.environ
'''environ({'ALLUSERSPROFILE': 'C:\\ProgramData',...,
        'HSRL_INSTRUMENT': 'gvhsrl', 'HSRL_CONFIG': '/主目录/ hsrl_config'})
'''
dict(os.environ)#转字典

3)获取系统环境变量--key字段详解:
os.environ['HOMEPATH']       #当前用户主目录。Out[26]: '\\Users\\Administrator'
os.environ['TEMP']           #临时目录路径Out[27]: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp'
os.environ['PATHEXT']        #可执行文件Out[28]: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
os.environ['SYSTEMROOT']     #系统主目录Out[29]: 'C:\\Windows'
os.environ['LOGONSERVER']    #机器名Out[30]: '\\\\PC-201706181426'
os.environ['PROMPT']         #设置提示符Out[31]: '(base) $P$G'
os.environ['USERNAME']       # 'Administrator'

 

6.修改 PYTHONPATH 变量      #永久生效;尽量不要使用
SET PYTHONPATH=%cd%;%cd%\slim1#重新加载shell

改用:电脑中添加环境变量
1)cmd->set path=%path%;C:\Python# C:\Python 是Python的安装目录

2) Rapid Environment Editor:windows环境变量编辑软件中修改
   # 下载地址:https://www.rapidee.com/en/download

3)[右键单击]计算机>属性>高级>环境变量-->单击“系统变量”下的[新建]
   变量名称:PY_HOME,变量值:C:\ path \ to \ python \ version -->单击[确定]
   找到“Path”系统变量,然后单击[编辑]-->将以下内容添加到现有变量:
   %PY_HOME%;%PY_HOME%\库;%PY_HOME%\的DLL;%PY_HOME%\ LIB \ LIB-TK;-->单击[确定]

 

7.增加 .pth 文件 -- 最简单永久生效(推荐)
# 在site-packages/dist-packages添加一个路径文件xxx.pth
在C:\ProgramData\Anaconda3\lib\site-packages 下添加xxx.pth:
/home/wang/workspace#每个路径一行,文件名任意;模块文件所在的目录名称

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值