Python办公自动化之文件自动化处理&邮件批量处理学习笔记
一.文件自动化处理
读写文件:
1. os.path.join()函数来创建文件名称字符串
2. os.getcwd()函数获取当前工作目录,并可以用os.chdir()改变当前工作路径
3.os.path.abspath(path):将相对路径转换为绝对路径,并返回参数的绝对路径的字符串
os.path.isabs(path):判断是否是绝对路径,是返回True,不是则返回False
4.os.path.relpath(path,start):返回从start路径到path的相对路径的字符串
os.path.dirname(path):返回当前路径的目录名称
os.path.basename(path):返回当前路径的文件名称
5. os.path.split():返回一个元组,里面包括路径的目录名称和基本名称
os.path.sep:路径分隔符
split():根据给定字符分割字符串,返回结果为列表
6. os.makedirs():创建所有必要的中间文件夹
os.path.getsize(path):返回path中文件的字节数
os.listdir():返回当前文件夹下文件名字字符串的列表
7. 文件读写过程
读过程:
open(path)函数:返回一个File对象
read()函数:读取文件内容
readlines()函数:按行读取文件中的内容,返回字符串列表
写过程:
open(‘path’,’w’):写模式打开一个文件
write():写入指定字符串
close():关闭已打开文件
实战模拟:
一、生成随机的测验试卷文件假如你是一位地理老师,班上有35 名学生, 你希望进行美国各州首府的一个 小测验。不妙的是,班里有几个坏蛋, 你无法确信学生不会作弊。你希望随机调整 问题的次序, 这样每份试卷都是独一无二的, 这让任何人都不能从其他人那里抄袭答案。当然,手工完成这件事又费时又无聊。 好在, 你懂一些 Python。
下面是程序所做的事:
• 创建 35 份不同的测验试卷。
• 为每份试卷创建 50 个多重选择题,次序随机。
• 为每个问题提供一个正确答案和 3 个随机的错误答案,次序随机。
• 将测验试卷写到 35 个文本文件中。
• 将答案写到 35 个文本文件中。
这意味着代码需要做下面的事:
• 将州和它们的首府保存在一个字典中。
• 针对测验文本文件和答案文本文件,调用 open()、 write()和 close()。
• 利用 random.shuffle()随机调整问题和多重选项的次序。
写程序前准备:
1.准备一个字典存放美国各州以及对应首府
中文版:
```
Capitals={'阿拉巴马州':'蒙哥马利','阿拉斯加州':'朱诺','亚利桑那州':'凤凰城','阿肯色州':'小石城', '加利福尼亚州':'萨克拉门托','科罗拉多州':'丹佛','康涅狄格州':'哈特福德','特拉华州':'多佛', '佛罗里达州':'塔拉哈西','佐治亚州':'亚特兰大','夏威夷州':'火奴鲁鲁','爱达荷州':'博伊西', '伊利诺伊州':'斯普林菲尔德','印第安纳州':'印第安纳波利斯','艾奥瓦州':'得梅因', '堪萨斯州':'托皮卡','肯塔基州':'法兰克福','路易斯安那州':'巴吞鲁日','缅因州':'奥古斯塔', '马里兰州':'安那波利斯','麻萨诸塞州':'波士顿','密歇根州':'兰辛','明尼苏达州':'圣保罗', '密西西比州':'杰克逊','密苏里州':'杰弗逊城','蒙大拿州':'海伦那','内布拉斯加州':'林肯', '内华达州':'卡森市','新罕布什尔州':'康科德','新泽西州':'特伦顿','新墨西哥州':'圣大非', '纽约州':'奥尔巴尼','北卡罗来纳州':'罗利','北达科他州':'俾斯麦','俄亥俄州':'哥伦布', '俄克拉何马州':'俄克拉何马城','俄勒冈州':'塞勒姆','宾夕法尼亚州':'哈里斯堡', '罗得岛州':'普罗维登斯','南卡罗来纳州':'哥伦比亚','南达科他州':'皮尔','田纳西州':'纳什维尔', '得克萨斯州':'奥斯汀','犹他州':'盐湖城','佛蒙特州':'蒙比利埃','弗吉尼亚州':'里士满', '华盛顿州':'奥林匹亚','西弗吉尼亚州':'查尔斯顿','威斯康星州':'麦迪逊','怀俄明州':'夏延' }
```