我对Python比较陌生,正在处理输入和输出文件。这里是输入文件:(Python初学者)我的代码中输出文件为空
1 3
1 1
1 0
20 30
,这里是我的代码,将其作为“soccer_in.txt”,并假设输出以下为“soccer_out.txt”:使用该
Season: 1, Games Played: 1, Points earned: 3
Possible Win-Tie-Loss Records
-----------------------------
1-0-0
Season: 2, Games Played: 1, Points earned: 1
Possible Win-Tie-Loss Records
-----------------------------
0-1-0
Season: 3, Games Played: 1, Points earned: 0
Possible Win-Tie-Loss Records
-----------------------------
0-0-1
Season: 4, Games Played: 20, Points earned: 30
Possible Win-Tie-Loss Records
-----------------------------
10-0-10
9-3-8
8-6-6
7-9-4
6-12-2
5-15-0
代码:
def process_season(output_file, season, games_played, points_earned):
output_file.write("Season: " + str(season) + ", Games Played: " + str(games_played) +
", Points earned: " + str(points_earned))
output_file.write("Possible Win-Tie-Loss Records")
output_file.write("-----------------------------")
wins = int(points_earned) // 3
ties = int(points_earned) % 3
losses = int(games_played) - wins - ties
while (wins >= 0) and (losses >= 0):
output_file.write(str(wins) + "-" + str(ties) + "-" + str(losses))
wins -= 1
ties += 3
losses -= 2
# --------------------------------------
def process_seasons(input_file, output_file):
season_number = 0
for season in input_file:
season_number += 1
process_season(output_file, season_number, season[0], season[1])
# --------------------------------------
f_in=open("soccer-in.txt", "r")
f_out=open("soccer-out.txt", "w+")
process_seasons(f_in, f_out)
我没有得到任何错误,但我的输出文件是空的,当我运行我的代码。我不确定发生了什么事情,任何帮助将不胜感激。 谢谢!
编辑:到目前为止,所提出的解决方案都没有工作。我运行该文件,“soccer-output.txt”仍然是空白。我看到关闭文件的问题,但这并没有解决输出文件为空的事实。
编辑2:NEVERMIND!我在我的电脑上打开了输入文件,该文件不允许代码工作。谢谢大家
把'output_file.close()'放在'process_season()'函数的末尾,看它是否有效。 – Unni
你在哪里关闭输出文件? – toonarmycaptain
你不需要关闭文件。 垃圾回收期间,Python将为您关闭文件。 这不是错误的原因。 – 0TTT0