当程序运行时,变量时保存数据的好方法,如果希望程序结束了数据仍能保持,就需要将数据存储到文件中(序列化),你可以认为文件的内容是一个字符串值,那如何使用python 在硬盘上创建,读取和保存呢。
文件关键属性:
- 文件名
- 文件路径
- 文件扩展名
- 文件权限
- 文件显示隐藏属性
- 文件大小
在不同的平台路径分隔符不一致:在window上是反斜杠,在OSX 和linux上是斜杠,附加卷诸如DVD或USB在不同的操作系统上显示也不同,在window上显示的新的带字符的跟驱动器,在osx表示位/Volumes下的新文件夹,在linux上显示的是/mnt下的新文件夹
import os
os.listdir() #列出当前目录的所有文件
os.getcwd() #获取当前目录
os.chdir(‘path’) #切好当前工作目录
os.makedirs(‘path’) #创建文件夹
os.path.join(‘path’,’file’) #目录和文件拼接
绝对路径和相对路径
绝对路径总是从根文件夹开始‘/’
相对路径相对的是程序当前的工作目录
‘.’ 当前目录
‘..’ 当前目录的父目录
os.path.abspath(‘path’) #将目录转为绝对目录
os.path.isabs(‘path’) #判断目录是否是绝对路径
os.path.relpath(path1,path2) #传人参数是俩个绝对路径,返回path1 相对 path2的相对路径
os.path.dirname(‘path’) #返回path 参数重最后一个斜杆之前的所有内容, (文件夹路径)
os.path.basename(‘path’) #返回path参数最后一个斜杆之后的内容。(文件或者文件夹名)
os.path.split(‘path’) #返回(os.path.dirname(),os.path.basename())
检查路径有效性
os.path.exists(‘path’) #路径是否存在或者正确
os.path.isdir(‘path’) #路径是否是一个目录
os.path.isfile(‘path’) #路径是否是一个文件
文件的读写
open(‘path’,’r/w/a/) #打开文件读,写,追加,返回一个File对象
close(‘path’) #关闭文件
用shelve 模块保存变量
import shelve
shelveFile = shelve.open(‘mydata’)
cats =[‘zoophix’,’bbb’,’ccc’]
shelveFile[‘cats’]=cats
shelveFile.close()
list(shelveFile.keys)
list(shelveFile.values)
用pprint.pformat()函数保存变量
1 | import pprint |
创建一个.py文件而不是利用shelve模块保存变量的好处在于他是一个文本文件,所以任何人都可以用一个简单的文本编辑器读取和修改该文件的内容,但是对于大多数应用,利用shelve模块来保存数据,是将变量保存到文本的最佳方式,因为只有基本数据类型,诸如整形,浮点型,字符串,列表和字典,可以作为简单文本写入一个文件。而对象就不能编码为简单文本,比如File对象。
从剪切板取得文本
将文本张贴到剪切板
1 | import pyperclip,re |