关于python:10个办公自动化的常用操作代码拿走就用

44次阅读

共计 2698 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章分享了一些办公自动化罕用操作的代码,大家拿走就能够用在本人的脚本中!

01OS 模块相干

一、遍历文件夹
批量操作的前提就是对文件夹进行遍历,应用 os 模块能够轻松的遍历文件夹,os.walk 遍历后产生三个参数:

以后文件夹门路
蕴含文件夹名称 [列表模式]
蕴含文件名称[列表模式]

代码如下,大家能够依据本人的门路进行批改

import os
    
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)

当手上的需要明确有获取给定门路各级文件夹下所有符合条件的文件,并进行相应的批处理操作时,即可应用 os.walk

二、指标门路是否是文件
有时咱们须要判断一个目录下是否存在文件也能够应用 os 模块。

给定一个指标门路 path,通过一行代码就可能判断这是文件还是文件夹门路

import os

path = 'xxx'
print(os.path.isfile(path))

三、获取门路中的文件名
os.path.basename 能够间接从绝对路径中获取最初的文件名,当然如果用传统的字符串切割形式也能够,即 path.split(‘\’)[-1]

import os

path = 'xxx'
print(os.path.basename)

四、创立文件夹
创立文件夹的代码十分罕用,因为往往生成的新文件都心愿有个新的文件夹存储,代码如下:

import os

dirpath = 'xxx'
os.mkdir(dirpath)

然而,如果心愿创立的文件夹曾经存在,再运行 os.mkdir() 则会报错而终止代码。为了防止这一状况的产生,能够在创立文件夹之前先判断文件夹是否存在。

用到的代码是 os.path.exists,只有当门路不存在(即 os.path.exists 返回的后果是 False 时),才会创立:

import os

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

五、获取桌面门路
获取桌面门路也是十分罕用的操作,能够应用 os.path.join(os.path.expanduser(“~”), ‘Desktop’) 获取桌面的绝对路径。

这样做的益处是能够把数据放在桌面上,在不同的电脑上都能调用代码对数据进行解决。如果是在一条电脑上把桌面门路固定在字符串中,则换一台电脑就必须批改桌面门路。代码如下:

import os

desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
print(desktop_path)

当然把下面的代码包装成一个函数 GetDesktopPath() 须要时调用它会更加不便

import os

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

六、重命名文件 / 文件夹
须要用到 os.rename() 办法,上面的代码示例中别离演示如何重命名文件和文件夹

import os

os.rename('practice.txt', 'practice_rename.txt')  # 重命名文件
os.rename('文件夹 1', '文件夹 2') # 重命名文件夹

七、批处理文件 – 1
除了后面的 os.walk 之外,有其余的 os 模块下办法可实现获取指定门路的全副或符合条件的文件(非遍历各级文件夹的需要),还能够应用上面两个代码 第一种用到的办法是 os.scandir(),应用如下:

import os

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

八、批处理文件 – 2
下面代码最初输入的是 给定门路下各内容的名字、绝对路径第二种办法应用 os.listdir(),它比 os.scandir() 简略一些,可间接调用输入名称而非门路:

import os 

path = 'xxx'
for file in os.listdir(path):
    print(file)

02shutil 模块相干

九、挪动文件 / 文件夹
shutil 也是经常出现在办公自动化场景中的模块,我罕用的就是挪动文件 / 文件夹。

须要用到 shutil.move 办法,上面的代码示例中别离演示如何挪动文件和文件夹:

import shutil 

shutil.move(r'.\practice.txt', r'.\ 文件夹 1 /') 
shutil.move(r'.\practice.txt', r'.\ 文件夹 1 /new.txt')

留神到下面后两行代码的区别吗?前一行是将指标文件挪动到指标文件夹里,而后一行,在将指标文件挪动到指标文件夹里的同时,可能对其进行重命名

也就是说,如果咱们须要挪动某个或某些文件到新的文件夹,并且需重命名文件,则咱们并不需要用 os.rename 先命名文件再用 shutil.move 将其挪动的指定文件夹,而是能够用 shutil.move 一步到位

03glob 模块相干

十、批处理文件 – 3
最初要介绍的是 glob 模块,也是办公自动化必须要把握的一个模块,同样能够用于批处理文件。

glob 最重要的性能就是搜寻获取同一级或者各子级下符合条件的文件(绝对路径),非常适合写批处理的代码。

有时候咱们须要对大量文件进行雷同操作,在写完针对一份文件的操作后,只须要加上几行代码,就能够实现批处理全副文件的工作。大抵代码框架如下:

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

glob.glob() 是一个十分重要的办法,可能获取给定门路下文件的绝对路径,并且承受「通配符」搜寻,大大拓宽了灵便水平, 示意任意字符长度,/ 的应用示意用通配符指代给定门路下的任何一层,recursive 参数容许遍历搜寻。

以上就是我为大家整顿的十个罕用操作的代码,大部分都是能够通用的,大家能够珍藏本文,并在须要进行相干操作的时候能够间接复制粘贴应用。

另外也心愿大家在本人写代码、读他人代码时,能够多去思考哪些函数 / 代码片段是能够为我所用,这样才会提高的更快!

最近整顿了几百 G 的 Python 学习材料,收费分享给大家!想要的返回公~豪“Python 编程学习圈”,发送“J”即可收费取得

正文完
 0