嗨,下面哪段代码需要或使用更少的资源? 有更好的方法吗?写在文件里?你知道吗
f=open("Contact.txt","r+")
for i,j in enumerate(f):
text=str(f.readline())
if text=="":
f.write('\n'+ name +" "+ family+" " + MPN +" "+ Add + "*")
或者
f=open("Contact.txt","r+")
text=str(f.read())
f.write('\n'+ name +" "+ family+" " + MPN +" "+ Add + "*")
第一个方法有点错误,当您在文件上迭代(甚至使用enumerate)时,它已经读取了行并且您在
j
中得到它,您不需要再次执行f.readline()
,这会导致代码跳过备用行(除非您确实想跳过备用行)。你知道吗而且,这两种方法执行的操作并不相同,第一种方法逐行读取文件,第二种方法完全读取文件,并在最后写一行换行符。你知道吗
假设这是固定的,第一种方法占用的资源更少,因为您不将完整的文件读入内存,而是将每一行读入内存,然后写入另一个文件。你知道吗
我可以建议的另一个改进是使用
with
语句来正确处理文件的关闭。示例-如果您想在文件末尾添加联系人:
print()
函数自动在行尾插入空格和换行符。你知道吗我用这个:
相关问题 更多 >
编程相关推荐