运行目录,脚本目录,工作目录的区别

名词解释

  • 运行目录,又称为当前工作目录,即最开始运行程序时所在的目录
  • 脚本目录,当前文件目录,指正在运行的程序所在的目录,但当执行另一个程序时,脚本目录也随着变化
  • 工作目录,即环境变量
  • 路径和目录的区别:路径包含执行文件本身,而目录不包含

文件目录示例

  • test
    • test1
      • main.py
      • test2
        • main2.py
# main.py
import sys,os
from test2.main2 import fun1

print('main : ')
print(os.path.abspath(os.path.dirname(__file__))) # 当前文件目录
print("sys.path = ",sys.path)#工作目录或称为环境变量
print("os.getcwd() = ", os.getcwd())#获得当前工作目录
print ("os.path.abspath('.') = ",os.path.abspath('.'))#获得当前工作目录
print ("os.path.abspath('..') = ", os.path.abspath('..'))#获得当前工作目录的父目录
print ("os.path.abspath(os.curdir) = ",os.path.abspath(os.curdir))#获得当前工作目录
fun1()
# main2.py
import sys,os
def fun1():
    print('main2 : ')
    print(os.path.abspath(os.path.dirname(__file__))) # 当前文件目录
    print("sys.path = ",sys.path)#工作目录或称为环境变量
    print("os.getcwd() = ", os.getcwd())#获得当前工作目录
    print ("os.path.abspath('.') = ",os.path.abspath('.'))#获得当前工作目录
    print ("os.path.abspath('..') = ", os.path.abspath('..'))#获得当前工作目录的父目录
    print ("os.path.abspath(os.curdir) = ",os.path.abspath(os.curdir))#获得当前工作目录

当运行main.py文件时,获得如下的输出结果,使用的时vscode,系统为window.可以看到两者的环境变量和当前工作目录是一样的,当前脚本文件目录不一样

main : 
C:\Users\123456\Desktop\test\test1
sys.path =  ['C:\\Users\\123456\\Desktop\\test\\test1', 'C:\\Users\\123456\\anaconda3\\python38.zip', 'C:\\Users\\123456\\anaconda3\\DLLs', 'C:\\Users\\123456\\anaconda3\\lib', 'C:\\Users\\123456\\anaconda3', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\Pythonwin']
os.getcwd() =  C:\Users\123456\Desktop\test
os.path.abspath('.') =  C:\Users\123456\Desktop\test
os.path.abspath('..') =  C:\Users\123456\Desktop
os.path.abspath(os.curdir) =  C:\Users\123456\Desktop\test
main2 :
C:\Users\123456\Desktop\test\test1\test2
sys.path =  ['C:\\Users\\123456\\Desktop\\test\\test1', 'C:\\Users\\123456\\anaconda3\\python38.zip', 'C:\\Users\\123456\\anaconda3\\DLLs', 'C:\\Users\\123456\\anaconda3\\lib', 'C:\\Users\\123456\\anaconda3', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\123456\\anaconda3\\lib\\site-packages\\Pythonwin']
os.getcwd() =  C:\Users\123456\Desktop\test
os.path.abspath('.') =  C:\Users\123456\Desktop\test
os.path.abspath('..') =  C:\Users\123456\Desktop
os.path.abspath(os.curdir) =  C:\Users\123456\Desktop\test
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值