第一次正式打卡,由于前两天工作上事情比较多,再加上有面试,时间很紧,到了今天最后一天才开始学习。这次的打卡会很简陋,以后不能这样了。。。
1.1 读写文件
第一部分讲路径,没有什么理解难度,主要是介绍函数,所有函数都以os.path开头,并且需要传入变量,这点很关键,几个可能常用的
os.path.dirname(path)
os.path.basename(path)
os.path.split(path)
os.path.exists(path)
os.path.isfile(path)
os.path.isdir(path)
第二部分是文件/文件夹操作,和pandas基本一致
File = open(path)
content = File.read() # 一行一行读
File = open(path, 'w') # Write 写入模式,覆盖原文件
File = open(path, 'a') # Append 添加模式,在末尾添加
# 写入过程中要自己加换行字符
File.close() # 写后要关闭才能生效
对于shelve模块/pprint不是很理解,感觉可能也不常用?先跳过吧。
1.2 组织文件
shutil.copy(source, destination) 有手动复制粘贴的感觉了,返回值是复制文件夹的绝对路径。
shutil.move(source, destination) 相当于剪切。这个shutil需要import。
这两个函数的source/destination 既可以是文件也可以是文件夹。
os.unlink(path) 删除文件。
os.rmdir(path) 删除文件夹,文件夹必须为空。
shutil.rmtree(path) 删除文件夹及所有内容。删除前用print确定path以防出错。这个删除不进入回收站。
下面这个删除会进回收站。
import send2trash
send2trash.send2trash(path)
os.walk() 感觉挺有意思的,文件多了可以替代手工,具体用法如下
for folderName, subFolders, fileNames in os.walk(path)
它返回三个值,CurrentFolder Name, SubFolder Name, File Name
还需要理解下它遍历的情况,教程中的图打不开,明天再试试。
接下来是压缩文件,稍微复杂点。关键点是close之前,可以用newZip.write()一直加文件,实现把多个文件压缩到一个包里。
2 自动发送电子邮件
这个明天到办公室尝试一下,应该是最常用的了。