python之os模块使用

python中os模块的常用语法

1、查看当前路径及路径下的目录

os.getcwd():返回当前路径(不包括文件名)

os.listdir():返回当前路径下的所有目录列表。

os.listdir("E:Temp"):返回特定路径E:Temp下的所有目录列表。

import os

print(os.getcwd())
print(os.listdir())
print(os.listdir("E:Temp"))

2、绝对路径

os.path.abspath(path):返回path的绝对路径

os.path.abspath(__file__):返回当前脚本的完整路径

import os

print(os.path.abspath('.'))     # 返回当前目录的绝对路径
print(os.path.abspath('..'))    # 返回上一目录的绝对路径
print(os.path.abspath(__file__))    # 返回当前脚本的完整路径,包括目录名称和文件名称

运行结果:
E:Temp
E:
E:TempDemo1.py

3、查看路径的文件夹部分和文件名部分

os.path.split(path):将路径分解为(文件夹,文件名),返回的是元组类型。

os.path.dirname(path):仅返回path下的目录路径

os.path.basename(path):仅返回path下的文件路径

import os

allTemp = os.path.abspath(__file__)     # 返回当前脚本的完整路径
dirName = os.path.dirname(allTemp)      # 仅返回path下的目录路径
fileName = os.path.basename(allTemp)    # 仅返回path下的文件路径
print(allTemp)
print(dirName)
print(fileName)

运行结果:
E:TempDemo1.py
E:Temp
Demo1.py

4、路径组合/拼接

os.path.join(path1, path2):返回path1path2拼接后的路径

import os

'''接口自动化中获取特定分层下的目录路径'''

ROOTDIR = r"E:抽奖接口api"
BASEDIR = os.path.join(ROOTDIR, "base")
CONFDIR = os.path.join(ROOTDIR, "config")
print(BASEDIR)
print(CONFDIR)

运行结果:
E:抽奖接口apiase
E:抽奖接口apiconfig

5、查看文件时间

os.path.getctime(file):返回创建文件file的时间戳

os.path.getmtime(file):返回最后修改文件file的时间戳

os.path.getatime(file):返回最后访问文件file的时间戳

import os

ROOT_DIR = os.path.abspath(__file__)
print(os.path.getctime(ROOT_DIR))       # 创建文件的时间戳
print(os.path.getmtime(ROOT_DIR))       # 最后修改文件的时间戳
print(os.path.getatime(ROOT_DIR))       # 最后访问文件的时间戳

运行结果:
1589681303.55
1598237534.077993
1598237534.951911

6、查看文件或文件夹是否存在

os.path.exists(path):查看path是否存在

import os

print(os.path.exists(r"E:TempTest1"))      # 查看Test文件夹是否存在
print(os.path.exists(r"E:TempTest1.py"))   # 查看Test1.py文件是否存在

运行结果:
False
True

7、创建、删除文件等

os.mkdir(file):创建目录file

os.rename(oldname, newname):重命名文件名

os.chdir(path):切换到path目录

os.remove(file):删除文件file

os.rmdir(path):删除空文件夹path

8、关于cmd命令行下报错:ModuleNotFoundError:No Module named ...

由于pycharm和cmd在执行脚本时加载的项目目录不同,可在脚本前加上:

import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
os.path.split():按照路径将文件名和路径分割开

os.path.split('PATH'):
其中PATH指一个文件的全路径作为参数:
(1)如果给出的是一个目录和文件名,则输出路径和文件名
(2)如果给出的是一个目录名,则输出路径和为空文件名

参考:https://blog.csdn.net/qq_36829091/article/details/82180866

参考:https://www.cnblogs.com/yufeihlf/p/6179547.html

原文地址:https://www.cnblogs.com/Maruying/p/13528260.html