《python编程自动上手》笔记3 读写文件
20180106 qzd
-
文件与文件路径
文件有两个关键属性:”文件名“ 和 ”路径“。
文件夹名称和文件名在Windows 和 OS X上是不区分大小写的,但在Linux 上是区分大小写的。 -
os.path.join() 如果将单个文件和路径上的文件夹名称的字符串传递给它,就会返回一个文件路径的字符串,包含正确的路径分隔符。
-
os.getcwd() 取得当前工作路径的字符串。
os.chdir() 改变当前工作目录。
os.makedirs() 创建新文件夹(目录)。 -
处理绝对路径和相对路径
os.path.abspath(path) 将返回参数的绝对路径字符串。
os.path.isabs(path) 如果参数是一个绝对路径,就返回True。
os.path.relpath(path, start) 将返回从start 路径到 path 的相对路径的字符串,如果没有提供start ,就使用当前工作目录作为开始路径。
os.path.dirname(path) 将返回一个字符串,它包括 path 参数中最后一个斜杠之前的所有内容。
os.path.basename(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之后的所有内容。
如果需要两个值,os.path.split() 是很好的快捷方式。
举个例子:
calc = 'C:\\Windows\\System32\\calc.exe'
os.path.split(calc)
result: ('C:\Windows\System32', 'calc.exe')
calc.split(os.path.sep)
result: ['C:', 'Windows', 'System32', 'calc.exe']
-
查看文件大小和文件夹内容
os.path.getsize(path) 将返回patn 参数中文件的字节数。
os.listdir(path) 将返回文件名字符串的列表,包括path 参数中的每个文件。 -
检查路径有效性
os.path.exists(path) ,如果 path 参数所指的文件或文件夹存在,将返回 True。
os.path.isfile(path) ,如果 path 参数存在,并且是一个文件。
os.path.isdir(path) ,如果 path 参数存在,并且是一个文件夹。 -
文件读写过程
a. 调用open() 函数,返回一个 File 对象。
b. 调用File 对象的read() 或write() 方法。(read() 方法返回保存在该文件中的这个字符串;readlines() 方法从该文件取得一个字符串的列表。)
c. 调用File 对象的close() 方法,关闭该文件。 -
用shelve 模块保存变量
利用shelve 模块,可以将python 程序中的变量保存到二进制的shelf 文件中。
举个例子:
imort shelve
shelffile = shelve.open('mydata')
cats = ['zophie', 'pooka', 'simon']
shelffile['cats'] = cats
shelffile.close()
shelf 值不必用读模式或写模式打开,因为它们在打开后,既能读又能写。
shelffile = shelve.open('mydata')
type(shelffile)
result: <class 'shelve.DbfilenameShelf'>
shelffile['cats']
result: ['zophie', 'pooka', 'simon']
shelffile.close()
像字典一样,shelf 值有keys() 和 values() 方法,返回shelf 中键和值的类似列表的值。--类似
- pprint.pformat() 函数保存变量