名词解释
- 运行目录,又称为当前工作目录,即最开始运行程序时所在的目录
- 脚本目录,当前文件目录,指正在运行的程序所在的目录,但当执行另一个程序时,脚本目录也随着变化
- 工作目录,即环境变量
- 路径和目录的区别:路径包含执行文件本身,而目录不包含
文件目录示例
- test
- test1
- main.py
- test2
- main2.py
- test1
# 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