先看效果结果
首先,我们的TXT文件是这样的。
我们想要的结果是这样的
废话不说上代码
count = 1
all_count = 1
filename = "code.txt"
country_list = []
with open(filename, "r") as ins: //打开文件
for line in ins: //循环文件的每一行
all_count += 1
line = line.replace(" ", "") //把空格和换行都去掉
line = line.replace("\n", "")
if '='in line and '|' in line:
equal_symbol_idx = line.index('=') //利用index函数来标记出我们想要的字段的位置
or_symbol_idx = line.index('|')
count+=1
else:
continue
code = int(line[equal_symbol_idx+1:or_symbol_idx]) //取出我们想要的字段
name = line[or_symbol_idx+2:]
country_list.append((code, name))
country_list = sorted(country_list, key=lambda x: x[0]) //对list进行排序
for countryCode in country_list: // 把list换成我们想要的dict格式
code = 'code'
country = 'country'
codeObj = { code: countryCode[0], country: countryCode[1] }
print (codeObj,',') //打印出来
终端打印出来的结果是这样的
这样就达到我们想要的效果啦~~
代码解析
由于我们只是需要文件里面的文字,并不关心它的样式,所以我们使用TXT文件。对TXT文件的读写也是最基本的文件操作。
文件的打开
文件的打开有两种种方式
1、f = open('/tmp/test.txt', 'r')
2、with open('/tmp/test.txt', 'r') as file_to_read:
其中:<ul>
<li>r
代表只读</li><li>w
代表可写 </li><li>a+
代表读写</li>
</ul>