擅长:python、mysql、java
<p>字符串对象是不可变的,您不能更改它。
因此,当您试图将字符串的第i个变量赋值给系统argv[i] 它给出了一个错误。你知道吗</p>
<p>编辑:
根据您的输入和输出,您可以直接分配的第三个值系统argv你的变量。
varPersonNr3型=系统argv[我]</p>
<p>如果要将其余参数添加到该变量,请使用:
VarPersonNr3.append文件(系统argv[i] ()</p>
<p>编辑:
有两种选择:
1) 可以使用字典将变量名存储为键和系统argv值作为值:</p>
<pre><code>d={}
TempPersonNr = len(sys.argv)
TempPersonNr -= 2
VarPersonNr = ""
i = 1
for TempPersonNr in sys.argv[2:]:
key="VarPersonNr"+str(i)
d[key]=sys.argv[i]
i += 1
</code></pre>
<p>这将为您提供一个字典{“VarPersonNr3”:'C'、“VarPersonNr4”:'D'}等等
2) 您可以将所有值添加到一个列表中,然后从那里获取它。
3) 这是一个非常糟糕的选择,不应该使用。。但仍然:</p>
<pre><code>import sys
this = sys.modules[__name__]
i=1
for TempPersonNr in sys.argv[2:]:
setattr(this, 'VarPersonNr%s' % i, sys.argv[i])
i+=1
print(VarPersonNr3)
#this will give you the third value
</code></pre>
<p>试着用一个dict或者一个列表来描述这个。你知道吗</p>