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