Python脚本路径和工作目录

结论: 

#获取当前python文件所在目录:
os.path.split(os.path.realpath(__file__))[0]

#获取工作目录:
os.getcwd()

一个程序启动时涉及两个目录,一个是工作目录(调用者所在目录),另外一个是被执行文件的所在目录。这两个目录可能不一致。

1.路径和文件名信息

当启动一个python脚本时,python解释器继承工作目录,并搜索启动脚本文件。

工作目录和脚本名在调用时已经提供,可以直接记录。使用这两个信息可以获得各文件的绝对路径。

1. 工作目录

#python解释器工作目录
getcwd()

2. 脚本名 

#脚本路径, 调用脚本时输入什么就是什么。
sys.argv[0]

3. 脚本所在路径 

#脚本所在的目录,当脚本路径不可获取时为空字符串。
sys.path[0]

4. 脚本__file__属性 

#当前python文件的"路径名",可能是相对路径或者全路径,跟导入解释器的方式有关。属于当前脚本/模块的属性。
#Top脚本一般同sys.argv[0],导入的子模块为完整的路径名
__file__

2. Example

存在以下目录结构:

 

test文件内容相同如下:

print("path[0] :'"+sys.path[0]+"'")
print("argv[0] :'"+sys.argv[0]+"'")
print("__file__:'"+__file__+"'")
print("     cwd:'"+os.getcwd()+"'")
print("realPath:'"+os.path.split(os.path.realpath(__file__))[0]+"'")
print("realFile:'"+os.path.split(os.path.realpath(__file__))[1]+"'")

1). 调用工作目录root下test1.py

 

 2). 调用工作目录root下子目录中的test2.py

 3). 在test1.py中导入test2.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

blanklog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值