第9章 文件的输入输出
9.2文件内建函数
open() file(),两个函数功能完全一样可以自由替换,建议使用open()
file_object = open(file_name,access_mode='r',buffering=-1)
file_name:可以是相对路径也可以是绝对路径
access_mode:r w a u 读、写、追加、代表通用换行符支持,默认是r
9.3文件内建方法
输入、输出、文件内移动、杂项操作
9.3.1 输入
9.5标准文件
标准输入、标准输出、标准错误
sys.stdin()/sys.stdout()/sys.stderr()
sys.*是文件所以需要自己处理换行符
9.6命令行参数
接受命令行参数的模块有两个:
getopt 处理简单的命令行
optparse 处理复杂的命令行
9.7文件系统
真不知道该如何去写,python对文件的支持,只有你想不到没有办不到的,非常的简单易懂。isdir() isfile()等等
import os
for tmpdir in('/tmp',r'c:\temp'):
if os.path.isdir(tmpdir):
break
else:
print('no temp directory available')
tmpdir = ''
if tmpdir:
os.chdir(tmpdir)
cwd = os.getcwd()
print('***current temporary directory')
print(cwd)
print('*** creating')
os.mkdir('example')
os.chdir('example')
cwd = os.getcwd()
print(cwd)
print(os.listdir(cwd))
9.9永久保存
pickle marshal
可以讲python对象转换成二进制数据集合,这样可以把数据保存起来,也可以通过网络发送。然后在恢复成原来的对象。这个过程被称为数据扁平化、数据序列化
marshal只能处理简单类型
pickle 能处理递归和客户定义的类型,还有个cpickle版本,是c语言实现的。
9.93 shelve模块
更完整的解决方案,允许并发读访问,不允许共享读写访问。比较接近于数据库的东西。
本文详细介绍了Python中文件的输入输出方法及标准文件处理方式,并深入讲解了如何利用sys模块处理命令行参数,同时展示了如何利用os模块进行文件系统操作,最后讨论了数据保存技术如pickle和shelve的使用。

被折叠的 条评论
为什么被折叠?



