Python自动化办公1.0

使用Python实现自动化办公

1.文件夹中所有文件的遍历

#将文件夹中的文件夹中的文件遍历
import os 
for dirpath,dirname,files in os.walk('./'):
    print(f'发现文件夹:{dirpath}')
    print(files)

实现效果:
在这里插入图片描述

2.把隐藏在文件内很多层的文件都找出来

#把隐藏在文件内很多层的文件都找出来,recursive为递归的意思
import glob
import os
print(glob.glob('**/*.txt',recursive=True))

3.匹配文件名,1是否符合2的规则

#匹配文件名,查看1是否符合2的规则
import fnmatch
print(fnmatch.fnmatch("lesson1.py","lesson[0-9].py"))

4.查询返回文件的信息

#os.scandir()返回的文件可以查询信息
import os
for file1 in os.scandir():
    print(file1.stat())

在这里插入图片描述

  1. st_atime:文件最近访问时间
  2. st_mtime:文件最近修改时间
  3. st_ctime:windows下表示文件创建时间
  4. st_birthtime:Mac、Linux下表示文件创建时间
#eg,time的用法
import time
import os
for file in os.scandir():
    print(file.name,time.ctime(file.stat().st_mtime))

在这里插入图片描述

import datetime
that_time=datetime.datetime.fromtimestamp(1567764428)
print(that_time)
print(that_time.year,that_time.month,that_time.day,that_time.hour,that_time.minute,that_time.second)

在这里插入图片描述

import datetime
for file in os.scandir():
    file_time=file.stat().st_mtime
    print(datetime.datetime.fromtimestamp(file_time))

在这里插入图片描述

5.读文件中的内容

f =open('./file/file.txt','r',encoding='utf-8')
text=f.readlines()
print(text)
f.close()
#读文件中的内容建议写法
with open('./file/file.txt','r',encoding='utf-8') as f:
    text=f.readlines()
    print(text)
with open('./file/file.txt','a',encoding='utf-8') as f:
    text="第二行的内容\n第三行的内容\n"
    f.write(text)
    f.write('第四行的内容\n')
#在文件后追加内容时,若使用'w'参数,则当没有当前文件时会自动创建一个文件,若存在该文件,则此文件中的内容会被清空
#在使用参数'a'时,若文件不存在则会自动创建一个文件,否则会在文件后面继续添加相关的内容

6.创建临时文件储存数据以及文件的基本操作

使用以下文件会在程序运行完毕后将临时文件删除

TemporaryFile()
#创建临时文件
from tempfile import TemporaryFile
with TemporaryFile('w+') as f:
    f.write('hello')
    f.seek(0)
    data=f.readlines()
    print(data)
#seek(0):光标回到文档开头位置
#创建临时文件夹
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tmp_folder:
    print(f'临时文件夹已经被创建:{tmp_folder}')
#文件夹不存在则创建新的文件夹
import os 
if not os.path.exists("新文件夹"):
    os.mkdir("新文件夹")
#创建多层文件夹
import os
os.makedirs('第一层文件夹/第二层文件夹/第三层文件夹')
#复制文件夹
#shutil.copy(要复制的文件,要复制到的位置)
import shutil
shutil.copy('./1.txt','新文件夹')
shutil.copy('./1.txt','新文件夹/重命名文件.txt')
#复制文件夹,此方法的缺陷是只能移入新创建的文件夹中
import shutil
shutil.copytree('新文件夹','./new文件夹')
#移入文件夹,可以移入已经存在的文件夹中
import shutil
shutil.move('新文件夹','第一层文件夹')
#移入文件夹,并进行重命名
import shutil
shutil.move('1.txt','第一层文件夹/2.txt')
#删除文件
import os
os.remove('3.txt')
#删除文件夹
import shutil
shutil.rmtree('new文件夹')

7.压缩包的基本操作

#读取压缩包内的文件,显示文件夹中的文件的名字,但是此方法会使得中文显示乱码
#zipfile.ZipFile().namelist()
import zipfile
with zipfile.ZipFile('./压缩包.zip','r') as f:
    print(f.namelist())
#读取压缩包内的文件,中文正常显示
#zipfile.ZipFile().namelist()
import zipfile
with zipfile.ZipFile('./压缩包.zip','r') as f:
    for filename in f.namelist():
        print(filename.encode('cp437').decode('gbk'))
#读取压缩包内文件信息,文件大小,解压后的文件大小
import zipfile
with zipfile.ZipFile('./压缩包.zip','r') as f:
    for filename in f.namelist():
        info=f.getinfo(filename)
        filename=filename.encode('cp437').decode('gbk')
        print(filename,info.file_size,info.compress_size)
#将压缩文件中的所有文件都解压出来,出现了中文乱码现象
#extractall(path='解压到的位置',pwd=b'密码')
import zipfile
with zipfile.ZipFile('./压缩包.zip','r') as f:
    f.extractall()
#创建压缩文件
import zipfile
file_list=['wenjian','file']
with zipfile.ZipFile('./压缩包2.zip','w') as f:
    for file in file_list:
        f.write(file)
#向已有的压缩文件中添加文件
import zipfile
with zipfile.('压缩包2.zip','a') as f:
    f.write('第一层文件夹')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值