Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        3年前关闭。
                                                                                            
                
        
我想删除文件smart.txt中的所有行,然后添加自己的一些字符串。 smart.txt包含很多行。

我试过了

import sys
import os

output=[]
f= open(smart.txt, 'r')
for line in f:
 output.append(line)
 if '*** P R O P E R T I E S ***' in line: break
f=open(smart.txt, 'w')
[f.write(data) for data in output]
f.write('*** Inclusions ***\n ')
f.write('*** Permanent  ***\n ')
f.close()


我收到一个错误

f= open(smart.txt, 'r')
NameError: name 'smart' is not defined


无法确定,因为smart.txt位于同一目录中。

有什么建议么?

最佳答案

打开文件时,需要使用'smart.txt'而不是smart.txt
因此,您可以将f= open(smart.txt, 'r')更改为f= open('smart.txt', 'r')

完成后,还应该使用with open('smart.txt', 'r') as f自动关闭文件。

关于文件io的教程:link

10-05 18:56