-3

我正在尝试从我存储了数字的文件中读取。它们的排列方式如下:

1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4

我正在尝试将所有这些数字变成单独的字符串。

我已经编写了读取文件代码,并且可以将整个文本作为一个字符串获取,但我无法将它们单独设置。

例如我需要的输出是:

var1=1 var2=2 var3=4 等等

谢谢您的帮助

4

2 回答 2

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]
于 2013-05-10T05:01:36.553 回答
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

存在其他有效方式

  • 您可以使用 dict 键和值来保存数据并将其传递给图形方法以绘制它
  • 您可以使用图形类的实例属性来保存数据并调用该类的图形方法(如果您尝试的图形被定义为一个类)

类似的帖子

于 2013-05-10T05:58:03.060 回答