第8章 读写文件

读取文件内容

  • 文件路径的操作需要导入os模块
  • python中文件操作3个步骤:
    1. 调用open()函数,返回一个File对象。
    2. 调用File对象的读写方法。
      • read()方法,将整个文件的内容读取为一个字符串值。
      • readlines()方法,从文件取得一个字符串的列表,列表中的每个字符串就是文本中的一行。注意:除了文件的最后一行,每个字符串值都以一个换行字符\n结束。
    3. 调用File对象的close()方法。

用shelve模块保存变量

>>> import shelve
>>> shelfFile = shelve.open('mydata')
>>> cats = ['Zophie','Pooka','Simon']
>>> shelfFile['cats'] = cats
>>> shelFile.close()

在当前目录下出现三个新的文件:

mydata.bak
mydata.dat
mydata.dir

读取shelve保持的变量:

>>> shelfFile = shelve.open('mydata')
>>> type(shelfFile)
<class 'shelve.DbfilenameShelf'>
>>> shelfFile['cats']
['Zophie', 'Pooka', 'Simon']
>>> shelfFile.close()

shelf值也有键和值类似的列表值,但shelve变量的这些方法返回的不是真正的列表,所以要将他们传递给list()函数,取得列表的形式。

>>> shelfFile = shelve.open('mydata')
>>> list(shelfFile.keys())
['cats']
>>> list(shelfFile.values())
[['Zophie', 'Pooka', 'Simon']]
>>> shelfFile.close()

创建文件时,如果要在文本编辑器中读取他们,纯文本非常有用。如果想要保持python程序中的数据,用shelve模块更为明智。

用pprint.pformat()函数保持变量

如果想要将变量输出到文本且,格式漂亮。那么可以导入pprint模块来用。

  • pprint.pprint()函数将列表或字典中的内容“漂亮打印”到屏幕。
  • pprint.pformat()函数将返回同样格式的文本字符串,但是不打印它。

文件名可以用变量来控制编号如:

answerKeyFile = open('capitalsquiz_answer%s.txt' % (quizNum + 1), 'w')

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    O感悟人生O阅读 11,532评论 2 34
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,447评论 0 27
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 21,009评论 5 17
  • 昨天去干妈家,晚上在那边过夜,没带充电线,手机很早就关机啦,没机会更新,就索性跟今天放在一起啦。 回到过春节的感受...
    Jojo常小静阅读 147评论 0 0
  • 有多少朋友,有没有伴侣。我的心依然只是随着风起风落。要知道并没有人会比你父母更爱你在他没成为你的家人之前。而我呢,...
    灯灯_阅读 197评论 0 1