美文网首页
python 自动化办公-文件和文件夹操作

python 自动化办公-文件和文件夹操作

作者: 刘年 | 来源:发表于2020-03-21 14:14 被阅读0次

创建临时文件

#创建临时文件,并不会写到具体文件中去
from tempfile import TemporaryFile
f=TemporaryFile('w+')   #写入及读取文件
f.write('hello,world\n')
f.seek(0)   #回到文件开头,如果不回到,读出来的不完整或者是空值
data = f.readlines()
print(data)
f.close()

with 形式

#创建临时文件,并不会写到具体文件中去
from tempfile import TemporaryFile
with TemporaryFile('w+') as f:
    f.write('hello,world\n')
    f.seek(0)   #回到文件开头,按照字符串索引
    data = f.readlines()
    print(data)
    f.close()

创建临时文件夹

程序结束后会删除
注意一下f格式的字符串格式化表达方式

#创建临时文件夹
from tempfile import TemporaryDirectory
with TemporaryDirectory() as ff:
    print(f'临时文件夹已创建在:{ff}')

创建新文件夹

创建的这个文件夹不能已经存在,不然会报错

#创建文件夹
import os
os.mkdir('新文件夹')

所以一般会加判断句式

#创建文件夹
import os
if not os.path.exists('新文件夹'):
    os.mkdir('新文件夹')

复制文件

#复制文件,该文件夹一定要先存在
import shutil
shutil.copy('wx.json','新文件夹s\ss.json')
shutil.copy('wx.json','新文件夹s\\')

复制文件夹

#复制文件夹
import shutil
shutil.copytree('olddir','newdir')

移动文件(夹)

#移动文件(夹)
import shutil
shutil.move('11.txt','新文件夹\\1.txt')
shutil.move('11.txt','新文件夹\\')
shutil.move('旧文件夹','新文件夹\\')

如果是移动文件夹,那么接受目录一定要加斜杠

重命名

#重命名
import os
os.rename('old.txt','new.txt')
os.rename('olddir','newdir')

删文件

#重命名
import os
os.remove('1.txt')

删文件夹

#重命名
import shutil
shutil.retree('olddir')

作业1

1.找到当前目录所有.zip文件
2.文件重命名,加上修改日期
3.创建新文件夹
4.重命名后的文件移动到新文件夹中
5.重命名的文件添加到压缩包,并按照今天的日期给压缩包命名
6.压缩包移到新建文件夹中,然后删除原始文件

创建和解压压缩包

#创建和解压压缩包
import zipfile
with zipfile.ZipFile('11.zip','r') as ff:
    print(ff.namelist())
  • 处理解压文件名的中文乱码
#创建和解压压缩包
import zipfile
with zipfile.ZipFile('11.zip','r') as ff:
    for filename in ff.namelist():
        print(filename.encode('cp437').decode('gbk'))
  • 压缩包内信息
import zipfile
with zipfile.ZipFile('11.zip','r') as ff:
    for filename in ff.namelist():
        info =ff.getinfo(filename)
        print(filename,info)
  • 解压
    可以默认不给路径
import zipfile
with zipfile.ZipFile('11.zip','r') as ff:
#某个文件解压
    ff.extract('压缩包中的文件','路径')
    ff.extract('压缩包中的文件')
#整个解压,如果有密码还可以加上密码,但是要先转码
    ff.extractall(path=,pwd=b'')
  • 创建压缩包
import zipfile
filelist =['1.txt','2.txt','3.xlsx']
with zipfile.ZipFile('创建压缩包.zip','w') as ff:
    for file in filelist:
        ff.write(file)
  • 往已有压缩文件里面追加文件,参数改成‘a’即可
import zipfile
filelist =['1.txt','2.txt','3.xlsx']
with zipfile.ZipFile('创建压缩包.zip','a') as ff:
    for file in filelist:
        ff.write(file)

相关文章

网友评论

      本文标题:python 自动化办公-文件和文件夹操作

      本文链接:https://www.haomeiwen.com/subject/unkyyhtx.html