Python 3.x 在Python中读取、返回和写入文本文件
我陷入了一个我似乎无法理解的错误中。我制作的程序应该要求用户提供一个文本文件和数字。程序将在文本文件中搜索该编号,如果该编号存在,则应查找所有出现的编号并返回其行号。如果没有,则应将数字添加到文本文件中。你能帮我吗 我已经创建了用户输入和一个if语句,说明了如果找到,应该发生什么 这就是我所拥有的:Python 3.x 在Python中读取、返回和写入文本文件,python-3.x,Python 3.x,我陷入了一个我似乎无法理解的错误中。我制作的程序应该要求用户提供一个文本文件和数字。程序将在文本文件中搜索该编号,如果该编号存在,则应查找所有出现的编号并返回其行号。如果没有,则应将数字添加到文本文件中。你能帮我吗 我已经创建了用户输入和一个if语句,说明了如果找到,应该发生什么 这就是我所拥有的: 导入行缓存 def Q10(名称、编号): 打开(名称)作为填充: contents=infle.read() 如果目录中有数字: line_number=linecashe.getline(名称
导入行缓存
def Q10(名称、编号):
打开(名称)作为填充:
contents=infle.read()
如果目录中有数字:
line_number=linecashe.getline(名称、编号)
打印(编号,“在第行找到”,第_行编号)
Q10('Q10.txt',56)
这是我得到的错误:
TypeError:“in”需要字符串作为左操作数,而不是int
数字是一个整数,您需要将其转换为字符串。
您可以使用str(int)完成它,如我在代码中所示
import linecache
def Q10(name, number):
with open(name) as infile:
contents = infile.read()
if str(number) in contents:
line_number = linecashe.getline(name, number)
print(number, "was found on line", line_number)
Q10('Q10.txt', 56)
数字是一个整数,您需要将其转换为字符串。 您可以使用str(int)完成它,如我在代码中所示
import linecache
def Q10(name, number):
with open(name) as infile:
contents = infile.read()
if str(number) in contents:
line_number = linecashe.getline(name, number)
print(number, "was found on line", line_number)
Q10('Q10.txt', 56)
你能告诉我们你是如何打电话给Q10的吗?该错误似乎表明
number
可能是int
而不是string
,因此您可能必须在if
语句之前进行转换。Q10('Q10.txt',56)将您的问题放在那里。对于那些试图帮助你的人来说,这比让他们在评论中搜索要有用得多。也就是说,您正在为number
参数传递56
。尝试将其作为字符串传递(“56”
)或在Q10
中转换它。我不是python专家,恐怕我不能马上告诉你怎么做。你能告诉我们你是如何调用Q10
?该错误似乎表明number
可能是int
而不是string
,因此您可能必须在if
语句之前进行转换。Q10('Q10.txt',56)将您的问题放在那里。对于那些试图帮助你的人来说,这比让他们在评论中搜索要有用得多。也就是说,您正在为number
参数传递56
。尝试将其作为字符串传递(“56”
)或在Q10
中转换它。我不是python专家,恐怕我不能马上告诉你怎么做。