python的日常办公之文件处理

python被誉为强大的办公语言,那么如何利用python来进行办公呢?

1.文件夹处理

1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
2.返回指定目录下的所有文件和目录名:os.listdir()
3.函数用来删除一个文件:os.remove()
4.删除多个目录:os.removedirs(r"c:\python")
5.检验给出的路径是否是一个文件:os.path.isfile()
6.检验给出的路径是否是一个目录:os.path.isdir()
7.判断是否是绝对路径:os.path.isabs()
8.检验给出的路径是否真地存:os.path.exists()
9.返回一个路径的目录名和文件名:os.path.split()
10.分离扩展名:os.path.splitext()
11.获取路径名:os.path.dirname()
12.获取文件名:os.path.basename()
13.运行shell命令: os.system()
14.读取和设置环境变量:os.getenv() 与os.putenv()
15.给出当前平台使用的行终止符:os.linesep Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’
16.指示你正在使用的平台:os.name 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’
17.重命名:os.rename(old, new)
18.创建多级目录:os.makedirs(r"c:\python\test")
19.创建单个目录:os.mkdir(“test”)
20.获取文件属性:os.stat(file)
21.修改文件权限与时间戳:os.chmod(file)
22.终止当前进程:os.exit()
23.获取文件大小:os.path.getsize(filename)
最后还有一个感觉非常厉害实用的OS.walk()
os.walk()会得到 该文件下所有的文件夹 以及里面的文件
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,

dirnames 是一个list,包含了dirpath下所有子目录的名字。

filenames 是一个list,包含了非目录文件的名字。
无论套了多少层文件夹 都会给你显示出来
在这里插入图片描述

import os  
  
# 枚举dirPath目录下的所有文件  
  
def main():  

    fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目录下    
    for root, dirs, files in os.walk(fileDir):  
       print(root)  
       print(dirs)  
       print(files)  
if __name__ == '__main__':   
    main()  

在这里插入图片描述

2.文件的处理

打开文件的方式,有以下这些:
在这里插入图片描述

例一:邀请函的生成:

一键生成很多封邀请函

names = ['张三','李四','王五']

for name in names:
	with open('%s邀请函.txt'%name, mode='w', encoding='utf-8') as file1:
            file1.write('%s:\n'%name)
            file1.write("诚挚邀请您来参加本次宴会 \nbest regards\n李雷")

例子二:大量文件从重命名

在这里插入图片描述
这个目录下的文件需要全部进行重命名,并且需要保存原有的文件,把重命名过的文件复制到另一个文件夹内
如果文件不多的话,手动重命名也就可以了,但是这个目录下文件比较多
在这里插入图片描述
这是每个文件的内容,每个文件的前9行都是这个格式,我们要把标题下面一行的内容作为文件名,给文件进行重命名。

首先需要遍历该文件夹下所有txt文件
打开每一个txt文件,并读取
依次读取文件的每一行内容,当读到标题行下面一行时退出读取,并将改行内容保存作为新的文件名
将文件以新的名称复制到另一个目录下
以上就是整个流程

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os,shutil


def rename():
    filedirectory = r'C:\Users\Administrator\Desktop\diary'
    targetDirectory = r'C:\Users\Administrator\Desktop\新建文件夹'
    fileList = os.listdir(filedirectory)
    for file in fileList:
        filename = os.path.join(filedirectory, file)
        with open(filename, 'r', encoding='utf-8') as f:
            lines = f.readlines()
        flag = False
        newName = ''
        for line in lines:
            if r'标题:' == line.strip():
                flag = True
                continue
            if flag:
                newName = line.strip()+'.txt'
                break
        targetFile = os.path.join(targetDirectory,newName)
        shutil.copy(filename,targetFile)


if __name__ == '__main__':
    rename()

运行一下,看看效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39748940/article/details/106577427