我用循环生成了很多字符串,我需要在文件中写这些字符串。我希望我的文件排序。以下代码说明了我想要做的事情:
#! /usr/bin/python2.7
# -*- coding: utf-8 -*-
my_file = open('my_file.txt', 'w')
#randon_string and insert_in_order_alphabetically are just for the example
for x in range(1,100000000):
my_string = random_string()
my_file.insert_in_alphabetical_order(my_string)
my_file.close()
Python是否具有执行此操作的功能或我是否需要编写自己的算法代码?
答案 0 :(得分:0)
最明智的做法是将文件作为list
读取,添加所有额外的字符串,然后在重写文件之前使用列表上的sort
。
E.g。给出文件:
c
c
c
a
a
b
a
a
代码:
lines = []
with open('file.txt','r') as f:
for line in f:
lines.append(line.rstrip())
lines.append('z')
lines.append('e')
lines.append('e')
lines.sort()
with open('file.txt', 'w') as f:
for line in lines:
f.write(line + "\n")
这会创建文件:
a
a
a
a
b
c
c
c
e
e
z