1.Python中常用的os模块

1.1 判断目标路径是否为文件
import os
targetPath = r'xxx'  #目标路径
if os.path.isfile(targetPath):    #如果目标路径是文件返回值为true(否则为false)
    pass	#在判断它是文件之后,我们就可以对该文件进行操作了
1.2 判断目标路径是否是个目录
import os
targetPath = r'xxx'
print(os.path.isdir(targetPath))
1.3 判断目标路径是否存在
import os
targetPath = r'xxx'  #目标路径
if os.path.exists(targetPath):    #返回值为true或false
    pass	#在判断它是文件夹之后,我们就可以对该文件夹进行操作了
举个栗子:

当我们创建文件夹时,如果希望创建的文件夹已经存在,再运行 os.mkdir() 则会报错,所以在创建文件夹之前应先判断文件夹是否存在。

import os
targetPath = r'xxx'
if not os.path.exists(targetPath):    #返回值为true或false
    os.mkdir(targetPath)    #不存在时创建
else:
    print("The targetPath already exists.")
1.4 判断目标路径是否为绝对路径
import os
targetPath = r'xxx'
print(os.path.isabs(targetPath))
1.5 获取路径中的最后的文件名或目录名
import os
targetPath = r"E:\helloworld\Python"
print(os.path.basename(dirpath))
# 输出结果为:python

当然如果用传统的字符串切割方式也可以:

targetPath = r"E:\helloworld\Python"
print(targetPath.split('\\')[-1])
# 输出结果为:python
1.6 获取桌面路径
import os
desktopPath = os.path.join(os.path.expanduser("~"), 'Desktop') 
print(desktopPath)
# 输出结果为:C:\Users\Administrator\Desktop
# 详解:
# os.path.join(a,b) 路径字符串拼接
# os.path.expanduser("~") #获取用户路径
1.7 其他常用命令汇总
import os
os.path.split(...)            # 分隔目录和文件名/文件夹名         
os.path.splitdrive(...)        # 分隔盘符(windows系统)     
os.path.splitext(...)          # 分隔文件和扩展名
os.getcwd()                 # 获取当前工作目录
os.chdir(...)               # 改变工作目录
os.listdir(...)             # 列出目录下的文件

2.创建文件夹目录

import os
os.mkdir() 概述
语法:os.mkdir(path[, mode])
1.如果目录有多级,则创建最后一级,如果最后一级目录的上级目录不存在,则会抛出一个 OSError。
2.如果要创建多级目录可以使用该函数os.makedirs(path)。
参数:
path -- 要创建的目录,可以是相对或者绝对路径。
mode -- 要为目录设置的权限数字模式,默认的模式为 0777 (八进制)。

3.重命名文件/文件夹

import os
os.rename('test.txt', 'test_bak.txt')  # 重命名文件
os.rename('test', 'test_bak') # 重命名文件夹,test目录下不能子目录
Python中的shutil也是在办公自动化场景中常用的模块

4.复制文件/文件夹

用Python复制文件/文件夹详解传送门 用Python 复制文件的 9 种方法:
shutil copyfile() 方法
shutil copy() 方法
shutil copyfileobj() 方法
shutil copy2() 方法
os popen 方法
os system() 方法
threading Thread() 方法
subprocess call() 方法
subprocess check_output() 方法

用批处理文件 启动python程序 python对文件进行批处理_Python

用批处理文件 启动python程序 python对文件进行批处理_python_02

5.移动文件/文件夹

import shutil 
shutil.move(r'.\a.txt', r'.\test')    #将目标文件移动到目标文件夹里
shutil.move(r'.\a.txt', r'.\test\a2.txt')    #在将目标文件移动到目标文件夹里的同时对其进行重命名

6.删除文件/文件夹

import os
import shutil 
os.rmdir(...)       # 删除空文件夹,注意:如需删除文件夹及其下所有文件,需用shutil模块
os.remove(...)          # 删除单一文件
shutil.rmtree(...)      # 删除文件夹及其下所有文件

7.遍历文件夹

7.1 批处理文件 - 1

批量操作时要对文件夹进行遍历,使用os.walk()方法可以快速的遍历文件夹。
如何使用os.walk()方法,之前有文章单独介绍过,在此不再赘述,特附上跳转链接Python的os.walk()方法

7.2 批处理文件 - 2

使用os.scandir()方法,它可以列出指定目录下的所有文件夹和文件,使用如下:

import os
path = 'xxx'
for file in os.scandir(path): 
    #两个属性:name属性输出给定路径下的文件夹名或文件名,path属性输出绝对路径
    print(file.name, file.path)
7.3 批处理文件 - 3

使用 os.listdir()方法,输出给定路径下的文件夹名或文件名。

import os
path = 'xxx'
for file in  os.listdir(path): 
    print(file)
7.4 批处理文件 - 4

glob模块最重要的功能就是搜索获取同一级或者各子级下符合条件的文件和目录(绝对路径)。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。python的glob模块可以对文件夹下所有文件和目录进行遍历,并保存为一个list列表。

glob.glob() 接受通配符搜索,可以使用“ * ”, “ ? ”, “ [ ] ”这三个匹配符:
” * ”匹配0个或多个字符;
” ? ”匹配单个字符;
” [ ] ”匹配指定范围内的字符,如:[0-9]匹配数字。

下面还有几个使用 glob.glob() 的例子:

import glob

# **/*的使用表示用通配符指代给定路径下所有文件或文件夹,recursive 参数允许遍历搜索。
for file in glob.glob('**/*', recursive=True): 
    print(file)

#遍历指定文件夹下的所有文件夹里的所有文件,/*/*可以根据文件夹层数自主设定 
for file in glob.glob(Path + "/*/*"):
    print(file)
    
#遍历文件夹下所有py文件
alist = sorted(glob.glob(os.path.join(Path, '*.py')))

#获取指定目录下的所有图片
print(glob.glob(r"E:/Picture/*/*.jpg"))
#获取上级目录的所有.py文件
print(glob.glob(r'../*.py') #相对路径)