一、使用模块
import os
二、方法介绍
__file__
是 Python 中的一个内置变量,它表示当前脚本文件的路径。通过 os 模块对路径进行处理,可以找到项目的根路径。这种方法适用于脚本在项目内运行的情况。
os.path.abspath(__file__)
获取当前文件的绝对路径,结果中包含该文件名
os.path.dirname(__file__)
获取当前文件目录,结果中不包含该文件名,路径符为/,跟linux和网络地址路径一致
os.path.dirname(os.path.dirname(__file__))
获取当前文件上级目录,路径符为/,跟linux和网络地址路径一致
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
获取当前文件上上级目录,路径符为/,跟linux
和网络地址路径一致;以此类推,使用更多个os.path.dirname,可以获取更多个上级目录
os.getcwd()
#获取当前目录,路径符为\,跟windows系统一致
os.path.dirname(os.getcwd())
#获取当前文件上级目录,路径符为\,跟windows系统一致
os.path.dirname(os.path.dirname(os.getcwd()))
#获取当前文件上上级目录,路径符为\,跟windows系统一致
os.path.join
(当前目录,xxx) 文件路径拼接 如os.path.join(os.getcwd(), r’conf/config.txt’) ,文件路径拼接也可以使用连接操作符+
os.path.exists(path)
判断路径下是否存在(括号内是文件路径),存在返回True,不存在返回FALSE
os.makedirs(path)
创建路径,可以一次性创建多级目录,即使中间目录不存在也能正常的创建
在获取当前目录时,os.path.dirname(__file__)
和os.getcwd()
区别为:
os.getcwd()
的路径符为\,跟windows系统一致
os.path.dirname(__file__)
的路径符为/,跟linux和网络地址路径一致
但是当获取上级或者上上级等目录时,如果为:os.path.dirname(os.getcwd())
,则路径符为\,跟windows系统一致
如果为os.path.dirname(os.path.dirname(__file__))
,则路径符为/,跟windows系统一致
如下:
import os
d1 = os.getcwd()
d2 = os.path.dirname(os.getcwd())
d3 = os.path.dirname(__file__)
d4 = os.path.dirname(os.path.dirname(__file__))
print(d1)
print(d2)
print(d3)
print(d4)
打印结果:
D:\Document\Workspace\pywokrspace\test1
D:\Document\Workspace\pywokrspace
D:/Document/Workspace/pywokrspace/test1
D:/Document/Workspace/pywokrspace
sys.path.append()
#当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,而对于用到的模块和自己写的脚本不在同一个目录下,在脚本开头加sys.path.append(‘xxx’),将其添加到搜索目录中;然后再import对应的模块
eg.
import sys
sys.path.append("C:\python\Lib\site-packages")
from Crypto import Random
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64
三、使用.表示目录路径
使用.
表示当前目录 ..
表示上一级目录
如下:test1.txt处于pythonStudy目录下,与demo81.py同目录,test2.txt处于pythonStudy的上一级目录pywokrspace下,分别以相对路径在test1.txt、test2.txt文件中写入数据;