我正在编写一个python程序来逐行将文件复制到一个新文件中.我的代码如下所示,我使用循环逐行复制文件.
但是,由于文件中的行数可能会改变,有没有办法在python中逐行复制文件而不使用依赖于数字的循环,而是依赖于类似EOF字符的东西来终止循环?
import os
import sys
i = 0
f = open("C:\\Users\\jgr208\\Desktop\\research_12\\sap\\beam_springs.$2k","r")
copy = open("C:\\Users\\jgr208\\Desktop\\research_12\\sap\\copy.$2k","wt")
#loop that copies file line by line and terminates loop when i reaches 10
while i < 10:
line = f.readline()
copy.write(str(line))
i = i +1
f.close()
copy.close()
Run Code Online (Sandbox Code Playgroud)
And*_*ark 12
您可以通过迭代文件对象本身来迭代Python中文件对象中的行:
for line in f:
copy.write(line)
Run Code Online (Sandbox Code Playgroud)
读取行的另一种方法是遍历文件对象.这是内存高效,快速,并导致更简单的代码:
>>> for line in f:
print line,
Run Code Online (Sandbox Code Playgroud)
文件可以直接迭代,无需显式调用readline:
f = open("...", "r")
copy = open("...", "w")
for line in f:
copy.write(line)
f.close()
copy.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25031 次 |
| 最近记录: |