python3 中文件的行数
Count of lines in a file in python3
请问如何将算术运算编辑的多行打印到文件中?
为了简化起见,假设乘以 2。我试过了:
f = open(f'file.dat', 'rw')
it = sum(1 for _ in f)*2
f.write("A B C line: \n")
f.write("\n")
f.close()
Desired result:
A B C line: 2
A B C line: 4
A B C line: 6
我得到一个错误:
io.UnsupportedOperation: not readable
您可以执行以下操作:
- 以 r+ 模式打开文件。
- 阅读前几行并对值求和
- 向文件写入新行。
with open("bleh.txt", 'r+') as fp:
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
这种方法的问题是,如果文件不存在,它就会卡住。
因此,将 r+
更改为 a+
。
所以最终代码:
with open("bleh.txt", "a+") as fp:
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
当然...用a+
模式,文件指针放在文件末尾。所以..需要添加以下内容:
with open("bleh.txt", "a+") as fp:
fp.seek(0)
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
这会将文件指针移回开头。
请问如何将算术运算编辑的多行打印到文件中? 为了简化起见,假设乘以 2。我试过了:
f = open(f'file.dat', 'rw')
it = sum(1 for _ in f)*2
f.write("A B C line: \n")
f.write("\n")
f.close()
Desired result:
A B C line: 2
A B C line: 4
A B C line: 6
我得到一个错误:
io.UnsupportedOperation: not readable
您可以执行以下操作:
- 以 r+ 模式打开文件。
- 阅读前几行并对值求和
- 向文件写入新行。
with open("bleh.txt", 'r+') as fp:
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
这种方法的问题是,如果文件不存在,它就会卡住。
因此,将 r+
更改为 a+
。
所以最终代码:
with open("bleh.txt", "a+") as fp:
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
当然...用a+
模式,文件指针放在文件末尾。所以..需要添加以下内容:
with open("bleh.txt", "a+") as fp:
fp.seek(0)
it = sum(1 for _ in fp) * 2
fp.write("A B C line: %d\n" % it)
这会将文件指针移回开头。