如何在 python 中读取文件后将文件中的数字分配给变量?
How to assign numbers from a file to variables after reading the file in python?
例如,假设我在一个文件中有两个数字 2 和 3 (data.txt)。如何在读取文件时将这些数字分配给两个变量 a 和 b?
data.txt 在两行中有两个数字 2 和 3
我使用的代码是
file = open("data.txt", "r")
a=file.readlines(1)
b=file.readlines(2)
“readlines”函数 return 一个列表,不是字符串或整数。您需要告诉 Python 进行转换。这里有一个简单明了的解决方案:
file = open("data.txt", "r")
a=file.readlines(1)
b=file.readlines(2)
a2 = int(a[0])
b2 = int(b[0])
print(a2)
另一个答案适用于 2 行。但是如果以后要考虑加入更多的变量,下面的方法就干净多了。
with open("data.txt", "r") as fin: # with operator automatically call the .close() function
data = fin.read() # data -> "2\n3"
values = data.split("\n") # values -> [2, 3]
values = [int(x) for x in values] # convert all values to integer
a = values[0] # a -> 2
b = values[1] # b -> 3
以后如果想有更多的变量,只需要像下面这样多加几行就可以了
c = values[2]
例如,假设我在一个文件中有两个数字 2 和 3 (data.txt)。如何在读取文件时将这些数字分配给两个变量 a 和 b?
data.txt 在两行中有两个数字 2 和 3
我使用的代码是
file = open("data.txt", "r")
a=file.readlines(1)
b=file.readlines(2)
“readlines”函数 return 一个列表,不是字符串或整数。您需要告诉 Python 进行转换。这里有一个简单明了的解决方案:
file = open("data.txt", "r")
a=file.readlines(1)
b=file.readlines(2)
a2 = int(a[0])
b2 = int(b[0])
print(a2)
另一个答案适用于 2 行。但是如果以后要考虑加入更多的变量,下面的方法就干净多了。
with open("data.txt", "r") as fin: # with operator automatically call the .close() function
data = fin.read() # data -> "2\n3"
values = data.split("\n") # values -> [2, 3]
values = [int(x) for x in values] # convert all values to integer
a = values[0] # a -> 2
b = values[1] # b -> 3
以后如果想有更多的变量,只需要像下面这样多加几行就可以了
c = values[2]