【发布时间】:2014-06-05 23:14:23
【问题描述】:
我正在使用 python 3.4
我有一个 .txt 文件,每一行都以一个 id 号开头,然后是字母和数字,例如...
012394 The big Project 1997 June Terry Smith
013894 Toms Project 1994 March Michaal Bach
等等...我需要将所有以 01 开头的行复制到另一个文件中
当我使用以下内容时,它不断给我上述错误:
with open("old.txt","r") as mf, open("new.txt","w") as nf:
def dafunction():
mf = open ("old.txt", "r")
nf = open("new.txt","w")
for line in mf:
bat = str(line)
if bat.startswith(01):
nf.write(line)
dafunction()
mf.close()
nf.close()
我尝试使用 bat.startswith("01) 并跳过设置 bat 变量并直接进入 line.startswith(01) 等,但我一直收到错误。
有谁知道我做错了什么?或其他实现目标的方法?
非常感谢任何帮助!
【问题讨论】:
-
你的代码没有意义。为什么在文件打开时定义一个函数,然后关闭文件并调用该函数,该函数本身会打开(并且无法关闭)文件?请提供完整的错误回溯。
标签: python function python-3.x