python如何实现自动化_python如何实现自动化办公?

第一更

关于文件的操作

主要用了os模块和shutil模块

列出所有文件夹和文件

import os

print(os.listdir(指定相对路径或绝对路径))

判断是否为文件或者文件夹

import os

files =os.listdir()

for file in files:

print(file,os.path.isdir(file))

遍历文件夹

for dirpath,dirnames,files in os. walk(('./'):

print(f'发现文件夹:{dirpath}')

print(files)dirpath是文件夹路径

dirnames是dirpath这个文件夹下的子文件夹列表

files是dirpath这个文件夹里的文件列表

创建文件夹

import os

os.mkdir('新文件夹') //如果文件夹存在会报错

检测文件夹是否存在,不在的话创建

if not os.path.exists(‘新文件夹’):

os.mkdir(‘新文件夹')

创建多层文件夹

os.makedirs('first/sec/third')

复制文件用 shutli 模块

import shutil

shutil.copy('file1.txt',./新文件夹')

shutil.copy('file1.txt','./新文件夹/new_file.txt')

两种方式使用:第二种参数写某个文件夹位置,则复制到该文件夹下

第二个参数写某个文件路径,复制到这个路径并且重名名

复制文件夹

shutil.copytree(‘这是一个文件夹’,’这是一个新文件夹’) //会将文件夹内所有文件和文件夹复制过去

移动文件或文件夹

shutil.move(‘file2.txt’,’这是一个新文件夹/file3.txt’)

shutil.move(‘file1.txt,’这是一个新文件夹/’)

shutil.move(‘这是一个文件夹’,’这是一个新文件夹/’)

两种方式的使用:第二个参数写某个文件夹位置,则移动到该文件夹下

第二个参数写某个文件路径,移动到这个路径并且重命名

如果是文件夹记住最后加斜杠/

重命名文件或者文件夹

import os

os.rename(‘这是一个文件夹’,’这是重命名后的文件夹’)

os.rename(‘file1.txt’,new.txt’)

删除文件夹

import shutil

shutil.rmtree(‘这是一个文件夹’)

读取压缩包文件

import zipfile

with zipfile.ZipFile(‘这是一个压缩包.zip’,’r’) as zipobj:

print(zipobj.namelisit()

处理压缩包中的中文

import zipfile

with zipfile.ZipFile(‘这是一个压缩包.zip’,’r’ ) as zipobj:

for file_name in zipobj.namelist():

print(file_name.encode(‘cp437’).decode(‘gbk’))

读取压缩包内文件信息

with zipfile.ZipFile(‘这是一个压缩包.zip’,’r’) as zipobj:

for file_name in zipoj.namelist():

info =zipobj.getinfo(file_name)

file)_name =file_name.encode(cp437’).decode(‘gbk’)

print(file_name,info.file_size,info.compress_size)

.file_size 是原始文件大小

.compress_size 是压缩后大小

将压缩包内单个文件解压出来

with zipfile.ZipFile(‘这是一个压缩包.zip’,’r’) as zipobj;

zipobj.extract(file1.txt)

中文乱码解决办法:

重新调整编码

for file_name in zipobj.namelist():

correct_path =file_name.encode(‘cp437’).decode(‘gbk’)

将有密码的压缩包解压

with zipfile.ZipFile(‘这是一个有密码的压缩包.zip,’r’) as zipobj:

zipobj.extractall(path=’解压’,pwd=b ‘makerbean’)

创建压缩包

import zipfile

file_list = [‘file1’,'file2’,'file3’,file.txt]

with zipfile.ZipFile(’这是程序创建的压缩包.zip’,’w’) as zipobj:

for file in file_list:

zipobj.write(file)

向已有压缩包内添加文件

with zipfile.ZipFile(‘这是程序员创建的压缩包.zip’,’a’) as zip obj:

zipobj.write(‘file2.txt’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值