对文本文件进行处理
下面来提取test.txt文件里面的数据,并尝试计算它包含多少个单词。我们使用方法split(),它根据一个字符串创建一个单词表。
>>> information = "I love you!"
>>> information.split()
['I', 'love', 'you!']
方法split()以空格为分隔将字符串分拆成多个部分,并将这些部分都存储到一个列表中。结果是一个包含字符串中所有单词的列表,虽然有些单词可能包含标点。
文本处理:
>>> try:
... with open(address,encoding="utf-8") as f:
... contents = f.read()
... except Exception as e:
... print(str(e))
... else:
... words = contents.split()
... num_words = len(words)
... print(num_words)
...
3
>>> words
['要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。', '1.读取这个文件', '首先我们创建一个txt文件,里面写上几行数字或者文本信息---test']
>>>
很明显对于中文字也只是检测换行时为一个元素。你可以尝试处理英文单词试试看。
存储数据json
模块json让你能够将简单的Python数据结构转存储到文件中,并在程序再次运行时加载该文件中的数据。json数据格式并非pyhon专用的,这让你能够将以json格式存储的数据与使用其它编程语言的人分享。
1.使用json.dump()和json.load()
提示:JSON格式最初是javaScript开发的,但随后成了一种常见的数据格式,被包括python在内的众多语言采用。
我们来编写一个存储一组数字的简短程序,再编写一个将这些数字读取到内存中的程序。
第一个程序将使用json.dump()来存储这组数字,而第二个程序将使用json.load():
存储数据
函数json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象。
>>> filename = r"C:\Users\BBC\Desktop\numbers.json"
>>> numbers = [1,2,3,4,5,6]
>>> with open(filename,'w') as f:
... json.dump(numbers,f)
...
>>>
此时在我电脑桌面上生成了一个numbers.json的文件。
下面再编写一个程序,使用json.load()将这个列表读取到内存中:
>>> import json
>>> filename = r"C:\Users\BBC\Desktop\numbers.json"
>>> with open(filename) as f:
... numbers = json.load(f)
...
>>> print(numbers)
[1, 2, 3, 4, 5, 6]