python模块内置变量及其作用

本文深入探讨了Python中__file__变量的作用及其如何获取当前文件的路径信息,同时讲解了sys.path列表变量的工作原理,它是Python解释器用于查找模块导入路径的关键。文章通过实例代码展示了如何使用os模块获取文件位置及目录层级,以及sys.path的构成和其在模块导入过程中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.__file__

所在模块:os

变量作用:指向当前文件

当前文件的完整路径:os.path.abspath(__file__)

当前文件所属目录:os.path.dirname(os.path.abspath(__file__))

当前文件所属目录的上级目录:os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

 

cat filelocation.py
import os
print(__file__)
print(os.path.abspath("filelocation.py"))
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
运行:
filelocation.py
/home/test/CodeProjects/PythonProjects/test/filelocation.py
/home/test/CodeProjects/PythonProjects/test/filelocation.py
/home/test/CodeProjects/PythonProjects/test
/home/test/CodeProjects/PythonProjects

 2.sys.path

 所在模块:sys

python程序中使用import导入模块时,python解析器会在当前目录、已安装和第三方模块中搜索要导入的模块,更准确的说是从sys.path这个列表变量包含的路径中搜索的,因为sys.path是一个列表变量,所以可以使用append()和insert()函数更新列表中元素的值。

cat syspath.py
import sys
print(isinstance(sys.path,list))
print(sys.path)
运行:
python3 syspath.py
True
['/home/test/CodeProjects/PythonProjects/test', '/usr/local/python36/lib/python36.zip', '/usr/local/python36/lib/python3.6', 
'/usr/local/python36/lib/python3.6/lib-dynload', '/home/test/.local/lib/python3.6/site-packages', '/usr/local/python36/lib/python3.6/site-packages']

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/DesignerA/p/11618601.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值