无论出于什么原因,当我运行这个程序时几乎没有任何事情发生。它似乎非常直接和简单,它让我感到疯狂,它不起作用。
fin = open("input.txt", 'r')
print("asd;lkfja;sdlkfj")
read = True
for line in fin.readlines():
print(line)
begComment = line.find("/*")
print(begComment)
endComment = line.find("*/")
if(begComment != -1):
print("found one")
if(endComment != -1):
line = line[:begComment] + line[endComment:]
print(line)
fin.close()
这似乎是一个非常愚蠢的问题。我只是不明白为什么它不起作用。
这是我的input.txt文件的内容,它与python文件在同一目录中
asdfjas;dlkfja;sdlkfj /*;alksdjf;alksdjf*/
\n
a;sldkfj;akdsjf
asd;lfkja;sdlkjf
asd;flkja;dklfja;lksdjf;alkjsdf;lkajdsf;lkaj
as;dlfkj;asdlkf;akj
所有输出的是初始打印语句(asd; lkfja; sdlkfj)
答案 0 :(得分:0)
尝试在open()
语句中放置文件的完整(绝对)路径:
fin = open("/full/working/path/to/the/file/input.txt","r") #(try C:/full/working/[...] for windows builds)
#continue code...
使用open()
时,python假定当前的工作目录。根据您使用的IDE以及执行文件的方式,这可能会产生意外结果。如果您正在使用notepad ++(来自注释,它看起来像你),python可能会在notepad ++的程序目录中打开文件,而不是在.py文件所在的目录中。绝对路径通过强制python查看非常特定的目录来解决这个问题。我没有安装notepad ++,但我之前在其他低功耗IDE上遇到过这个问题。
答案 1 :(得分:-3)
你在每次迭代时调用readlines,将其从for循环中删除。
lines = file.readlines()
for line in lines: