4 回答

TA貢獻1840條經驗 獲得超5個贊
這個解決方案效果很好,您對此有何看法?
filepath = input("original file :")
filepath2 = input("result file : ")
with open(filepath, "r") as f, open(filepath2, "w") as f2:
for line in f:
f2.write(line if not 'CC' in line else "//" + line)

TA貢獻1836條經驗 獲得超13個贊
這似乎是您的輸入文件中的字符問題。也許.strip()反而.rstrip()會效果更好。.rstrip()僅刪除字符串右側的空格,同時.strip()刪除左側和右側的空格。像這樣的東西應該有效:
inputFile = open('data.txt', 'r')
outputFile = open('outputFile.txt', 'w')
for line in inputFile:
outputLine = line.strip() + '\n'
if 'CC' in line:
outputLine = '//' + outputLine
outputFile.write(outputLine)
inputFile.close()
outputFile.close()

TA貢獻1796條經驗 獲得超4個贊
這是一個解決方案:
p="name_of_original_file.txt"
file=open(p,"r")
s=file.read()
file.close()
new_s=""
for line in s.splitlines():
if 'CC' not in line:
new_s+=line+"\n"
if 'CC' in line:
new_s+='// '+line+"\n"
print (line)
p="name_of_new_file.txt"
file=open(p,"w")
file.write(new_s)
file.close()

TA貢獻1858條經驗 獲得超8個贊
額外的新行是由于文件行中已存在“\n”字符,您可以通過更改為來防止這種情況
print(line, end='')
我不知道為什么你更喜歡文件輸入模塊來讀取文件,因為我發現默認方法 open 非常令人滿意,因為你可以讀寫文本文件,二進制文件等......至于你的問題:
with open(file_name, 'w') as file: file.write(data)
添加回答
舉報