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:\Temp\Demo1.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:\Temp\Demo1.py
E:\Temp
Demo1.py

 

4、路径组合/拼接

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

import os

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

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

运行结果:
E:\抽奖接口api\base
E:\抽奖接口api\config

 

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:\Temp\Test1"))      # 查看Test文件夹是否存在
print(os.path.exists(r"E:\Temp\Test1.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

 

posted @ 2020-08-24 11:36  Maruying  阅读(190)  评论(0)    收藏  举报