2024-04-19 19:48:46 发布
网友
写/读文件的顺序正确吗?我通常是这样做的:
with open(path + 'write_file.txt', 'wb') as txtout: with open(path + 'read_file.txt', 'rb') as txtin: for line in txtin: txtout.writelines(line)
有什么理由先打开输入文件吗?而不是先打开输出文件?你知道吗
1)先打开输入文件,然后打开输出文件。这样,如果输入文件不存在,您就可以报告该错误,而不必首先创建(现在没有用的)输出文件。你知道吗
2)迭代输入文件(正如您所做的),而不是调用file.read()或file.readlines()。调用其中一个函数可以使用基本上无限量的内存。你知道吗
file.read()
file.readlines()
3)在给定的特定情况下,使用^{}或^{}。你知道吗
您可以执行以下任一操作:
with open("file_write", 'w') as f1, open("file_read") as f2: # bla bla bla
或者这个:
with open("file_read") as f1, open("file_write", 'w') as f2:
没什么区别。当然,如果你的输入文件确实存在的话。如果文件不存在,则使用“w”标志创建/覆盖该文件。但是read操作的文件对象将返回“False”,即不存在。事实上,只要您想访问不存在的读取文件,它就会生成错误。你知道吗
read
我建议你先看一下文件。如果文件不存在并且写入操作无法启动,则会出现错误。你知道吗
1)先打开输入文件,然后打开输出文件。这样,如果输入文件不存在,您就可以报告该错误,而不必首先创建(现在没有用的)输出文件。你知道吗
2)迭代输入文件(正如您所做的),而不是调用
file.read()
或file.readlines()
。调用其中一个函数可以使用基本上无限量的内存。你知道吗3)在给定的特定情况下,使用^{} 或^{} 。你知道吗
您可以执行以下任一操作:
或者这个:
没什么区别。当然,如果你的输入文件确实存在的话。如果文件不存在,则使用“w”标志创建/覆盖该文件。但是
read
操作的文件对象将返回“False”,即不存在。事实上,只要您想访问不存在的读取文件,它就会生成错误。你知道吗我建议你先看一下文件。如果文件不存在并且写入操作无法启动,则会出现错误。你知道吗
相关问题 更多 >
编程相关推荐