我试图从我存储过数字的文件中读取。它们的排列如下:
1,2,4,5,6,7,8,9,2,1,2,3,4
我试图将所有这些数字转换成单独的字符串。
我已经编写了读取文件代码,可以将整个文本作为一个字符串,但我无法使它们成为个体。
例如我需要的输出是:
var1 = 1 var2 = 2 var3 = 4等等
感谢您的帮助
答案 0 :(得分: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]
答案 1 :(得分:0)
如果您确定要使用的变量,例如。 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
存在其他有效方式