Python自动化常用操作有哪些

发布时间:2021-08-26 18:21:04 作者:chen
来源:亿速云 阅读:154

这篇文章主要介绍“Python自动化常用操作有哪些”,在日常操作中,相信很多人在Python自动化常用操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python自动化常用操作有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录

1. OS模块

导入:import os

1. 遍历文件夹

批量操作的前提就是对文件夹进行遍历os.walk遍历文件夹后产生三个参数:

代码如下(按需求更改目标路径即可):

for dirpath, dirnames, filenames in os.walk(r'C:\\Program Files (x86)'):
    print(f'打开文件夹{dirpath}')  # 当前文件夹路径
    if dirnames:
        print(dirnames)  # 包含文件夹名称(列表形式)
    if filenames:
        print(filenames)  # 包含文件名称(列表形式)
    print('-' * 10)

# 输出结果:
打开文件夹C:\\Program Files (x86)
['360', 'BirdWallpaper', 'Common Files', 'erl5.9.3.1', 'InstallShield Installation Information', 'Intel', 'Internet Explorer', 'IQIYI Video', 'Java', 'Kingsoft', 'Microsoft Office', 'Microsoft.NET', 'MSBuild', 'NetSarang', 'NVIDIA Corporation', 'Reference Assemblies', 'Sangfor', 'Sinfor', 'SogouInput', 'svnfile', 'Tencent', 'UltraEdit', 'VMware', 'Windows Defender', 'Windows Mail', 'Windows Media Player', 'Windows Multimedia Platform', 'Windows NT', 'Windows Photo Viewer', 'Windows Portable Devices', 'Windows Sidebar', 'WindowsPowerShell', 'Youdao']
['desktop.ini', '微软常用运行库合集_2019.07.20_X64.exe']
----------
打开文件夹C:\\Program Files (x86)\360
['360bizhi', '360Safe', '360SD']

2. 目标路径是否是文件

给定一个目标路径path,通过一行代码判断该路径是文件夹还是文件夹路径,使用os.path.isfile(path),返回TrueFalse

path = r'C:\Users\Administrator\Desktop\doc\note.md'
print(os.path.isfile(path))  # True
path = 'xxx'
print(os.path.isfile(path))  # False

3. 获取路径中的文件名

os模块方式os.path.basename可以直接从绝对路径中获取最后的文件名

path = r'C:\Users\Administrator\Desktop\doc\note.md'
print(os.path.basename(path))
print(path.split('\\')[-1])
# note.md

切割字符串方式path.split('\\')[-1]

path = r'C:\Users\Administrator\Desktop\doc\note.md'
print(path.split('\\')[-1])
# note.md

4. 创建文件夹

创建文件夹的代码非常常用,因为往往生成的新文件都希望有个新的文件夹存储。

dirpath = 'xxx'
os.mkdir(dirpath)
# 这样会在该`py`文件同一目录下生成名为`xxx`的文件夹

但如果存在同名文件夹会报错FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'xxx',为了避免报错可在创建前先判断是否存在:

dirpath = 'xxx'
if not os.path.exists(dirpath):
    os.mkdir(dirpath)

5. 获取桌面路径

desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
print(desktop_path)
# C:\Users\Administrator\Desktop

封装成一个函数进行调用

def get_desktop_path():
    return os.path.join(os.path.expanduser("~"), 'Desktop')

6. 重命名文件/文件夹 使用os.rename()方法

os.rename('xxx', 'xxx2')  # 重命名文件夹
os.rename('test.txt', 'test2.txt')  # 重命名文件

7. 批处理文件 - 1

除了os.walk外,在非遍历各级文件夹时,还可用os.scandir()获取指定路径的全部或符合条件的文件,使用for循环,获取循环变量的namepath

path = '.'
for file in os.scandir(path):
    print(file.name, file.path)

# 输出结果:
aaa .\aaa
os模块.py .\os模块.py
test2.txt .\test2.txt
xxx2 .\xxx2
# 如果path是绝对路径,下边打印出来的也是绝对路径

8. 批处理文件 - 2

获取指定路径的全部或符合条件的文件第二种方法使用os.listdir()获取文件名:

path = r'F:\python\python-basic\tips\自动化常用操作'
for file in os.listdir(path):
    print(file)

# 输出结果:
aaa
os模块.py
test2.txt
xxx2

2. shutil模块

9. 移动文件/文件夹(并重命名) shutil常用于 移动文件/文件夹,使用shutil.move()方法:

import shutil

# 把当前目录下的shutil_test.txt文件移动到当前目录的bbb文件夹下
shutil.move(r'.\shutil_test.txt', r'.\bbb/')

# 把当前目录下的shutil_test2.txt文件移动到当前目录bbb文件夹下,并重命名为shutil_test22.txt
shutil.move(r'.\shutil_test2.txt', r'.\bbb/shutil_test22.txt')

3. globa模块

10. 批处理文件 - 3

import glob

for file in glob.glob('**/*', recursive=True):
    print(file)

# 输出结果:
aaa
bbb
glob模块.py
os模块.py
shutil模块.py
test2.txt
xxx2
bbb\shutil_test.txt
bbb\shutil_test22.txt

glob可获取指定路径下文件的绝对路径,也可接受 通配符 搜索,拓宽了灵活程度。

glob的几种用法

for file in glob.glob('**/*', recursive=True):
    print(file)

# 输出结果:
aaa
bbb
glob模块.py
os模块.py
shutil模块.py
test2.txt
xxx2
bbb\shutil_test.txt
bbb\shutil_test22.txt
bbb\w
bbb\w\aaaa.txt
bbb\w\s
bbb\w\s\i.txt

demo2:获取当前目录bbb下的文件及其一层子文件

for file in glob.glob('./bbb/*'):
    print(file)

# 输出结果:
./bbb\shutil_test.txt
./bbb\shutil_test22.txt
./bbb\w

demo3:获取当前目录bbb下所有文件和文件夹及其文件

for file in glob.glob('./bbb/**', recursive=True):
    print(file)

# 输出结果:
./bbb\
./bbb\shutil_test.txt
./bbb\shutil_test22.txt
./bbb\w
./bbb\w\aaaa.txt
./bbb\w\s
./bbb\w\s\i.txt

demo4:获取当前目录bbb下嵌套两层内的文件和文件夹

for file in glob.glob('./bbb' + '/*/*'):
    print(file)

# 输出结果:
./bbb\w\aaaa.txt
./bbb\w\s

demo5:遍历包含指定名称的文件和文件夹

import os

arm_path = glob.glob(os.path.join('./bbb', '*.txt'))
print(arm_path)
# 输出结果:
['./bbb\\shutil_test.txt', './bbb\\shutil_test22.txt']

到此,关于“Python自动化常用操作有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. MySQL有哪些常用操作
  2. pyautogui自动化---模拟鼠标键盘常用操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:JS怎么判断数组元素是不是都满足给定条件

下一篇:python怎么通过PyQt5实现登录界面

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》