<p>如果不明确地告诉Python您正在这样做,就不能将赋值目标拆分到多行上。可以使用括号:</p>
<pre><code>(number,rangep,timep,maxp,minp,openp,highp,lowp,closep,volume,curvolume,openprice,
openbvolume,bp1,bv1,bp2,bv2,bp3,bv3,bp4,bv4,bp5,bv5,sp1,sv1,sp2,sv2,sp3,sv3,sp4,
sv4,sp5,sv5,un1,un2,un3,un4,un5,namep,un6,un7,un8) = np.loadtxt(fileLine, delimiter=',')
</code></pre>
<p>然而,我不会尝试从一行中分配这么多变量,这是相当笨拙和不可读的。你知道吗</p>
<p>您不需要在这里使用<code>unpack=True</code>,您只加载一行,不需要在这里将多行转置到列中。事实上,在这里使用<code>numpy.loadtext()</code>可能有些过分,因为您要再次将生成的<code>array()</code>对象解包为单独的值。你知道吗</p>
<p>给定您的数据行,<code>numpy.txt</code>是错误的工具;它期望所有值都是相同的类型(默认情况下是<code>float</code>),并且您的数据行包含类型的混合。你知道吗</p>
<p>在这里,您应该避免使用<code>numpy.loadtext()</code>;您可以使用:</p>
<pre><code>with open(fileLine) as f:
row = f.readline().split(',')
</code></pre>
<p>并用<code>row[0]</code>等索引</p>
<p>在本例中,您可以使用<a href="http://docs.python.org/2/library/collections.html#collections.namedtuple" rel="nofollow">^{<cd8>} factory</a>为这样一行生成一个元组,允许您仍然按名称来寻址各个值,同时避免这样一个怪物赋值行:</p>
<pre><code>from collections import namedtuple
Values = namedtuple('Values',
'number,rangep,timep,maxp,minp,openp,highp,lowp,closep,volume,curvolume,'
'openprice,openbvolume,bp1,bv1,bp2,bv2,bp3,bv3,bp4,bv4,bp5,bv5,sp1,sv1,sp2,sv2,sp3,'
'sv3,sp4,sv4,sp5,sv5,un1,un2,un3,un4,un5,namep,un6,un7,un8')
with open(fileLine) as f:
values = Values(*f.readline().split(','))
</code></pre>
<p>现在您可以将它们命名为<code>values.number</code>和<code>values.curvolume</code>,等等</p>
<p>不过,您必须手动转换任何值。你知道吗</p>