Python文本文件在命中10后重置为1

Python文本文件在命中10后重置为1,python,Python,我的代码包含打开文本文件、读取第一个数字、向其中添加一个数字以及替换数字的部分 然而,一旦它达到10,脚本只读取1,因为它是第一个数字,我不知道如何告诉它读取整个第一行 这是我的密码: f = open("numlog.txt","r") line = f.readline() x = int(line[0]) f.close() x +=1 x = str(x) f = ope

我的代码包含打开文本文件、读取第一个数字、向其中添加一个数字以及替换数字的部分

然而,一旦它达到10,脚本只读取1,因为它是第一个数字,我不知道如何告诉它读取整个第一行

这是我的密码:

f = open("numlog.txt","r")
line = f.readline()
x = int(line[0])
f.close()                                                           
x +=1
x = str(x)
f = open("numlog.txt","w")
f.write(x) 
f.close()
如果执行-x=intline[0],则只读取第一行中的第一个字符

假设你的行是-10,那么你只能读1,因为这是第一个字符,0是第二个字符

你应该把整行读成-

x = int(line)

您需要提取第一个数字,可能是任意数量的字符,第[0]行只读取第一个字符。如果行上没有其他文本,则转换整行,但可能有其他非数字文本,因此可以使用正则表达式:

import re

line = '10 hello there'

m = re.match(r'(\d+)', line)
if m:
    x = int(m.groups()[0])
else:
    print "No number found"

我的错,别理柜台。我试图编辑它,但无法。问题不是读取第一行,哪一行读得很好,而是思考x=intline[0]如何处理它!此外,您应该使用上下文管理器打开文件:使用open。。。作为f:。