我写了一个程序来打开一个文件并打印每一行如果文件没有创建它并写一些行
当文件不在目录中时,它可以正常工作 但是当文件在那里它打开文件读取它 - >然后将其写入文件但它应该只读取文件
print("We will do some file operation")
filename=input("enter a file name: ")
try:
file=open(filename,'r')
print("File opened")
for line in file:
print(line )
filename.close()
print("file cosed")
except:
file=open(filename,'w')
print("File created")
for i in range(15):
file.write("This is line %d\r\n"%(i))
print("write operation done")
file.close()
答案 0 :(得分:0)
在代码的try
块中,设置file=open(filename,'r')
。但是,在块结束时,您尝试filename.close()
。您想要关闭文件,而不是输入字符串。
try:
file=open(filename,'r')
print("File opened")
for line in file:
print(line )
file.close() #wrong variable name on this line
print("file cosed")
您发布的问题中的缩进也是错误的,它应该如上所示。 毯子例外也不理想,你应该使用:
except IOError: