一尘不染

python中的open方法不允许我将字符串转换为int

python

当我尝试运行这行代码时会发生奇怪的事情:

        with open("snake score.txt", mode="r") as f:
            self.high_score = int(f.read())

它给了我:

  File "C:\Users\Lidor\PycharmProjects\100DaysOfCode\snake.py", line 77, in __init__
    self.high_score = int(f.read())
ValueError: invalid literal for int() with base 10: ''

文本中的文本是数字 0。有人可以告诉我如何修复这个错误吗?

在此处输入图像描述


阅读 103

收藏
2022-06-12

共1个答案

一尘不染

确保字符串中没有多余的空格。

self.high_score = int(f.read().strip())

如果文件中有一个空的空格/空格字符“”,则 Python 无法读取文件名并对其进行处理。使用该strip()方法,您可以从代码中删除空格并继续。

2022-06-12