我正在尝试从我存储了数字的文件中读取。它们的排列方式如下:
1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4
我正在尝试将所有这些数字变成单独的字符串。
我已经编写了读取文件代码,并且可以将整个文本作为一个字符串获取,但我无法将它们单独设置。
例如我需要的输出是:
var1=1 var2=2 var3=4 等等
谢谢您的帮助
我正在尝试从我存储了数字的文件中读取。它们的排列方式如下:
1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4
我正在尝试将所有这些数字变成单独的字符串。
我已经编写了读取文件代码,并且可以将整个文本作为一个字符串获取,但我无法将它们单独设置。
例如我需要的输出是:
var1=1 var2=2 var3=4 等等
谢谢您的帮助
>>> with open('nums.txt') as f:
nums = [int(n) for n in f.readline().split(', ')]
>>> nums
[1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4]
正如@Amber 所指出的,您可以为此使用该csv
模块:
>>> import csv
>>> with open('nums.txt') as f:
r = csv.reader(f)
nums = [int(n) for n in next(r)]
>>> nums
[1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4]
如果您确定要使用的变量,例如。var1 .. var10 如果您总是希望输入文件中有 10 个数字,您可以像下面这样进行简单的赋值来获取程序变量中分配的值
s = "1, 2, 4" # s can be a line read from a file
(var1, var2 ,var3) = [i.strip() for i in s.split(',')]
如果分配不平衡(即输入值少于/多于变量数量),您将收到错误
ValueError: too many values to unpack
存在其他有效方式