擅长:python、mysql、java
<p>下面的列表从<code>line</code>中删除双引号,然后在分号上拆分,然后从行中的每个字段中去掉前导和尾随空格。然后使用元组赋值将字段提取到命名变量。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>#! /usr/bin/env python
line = '"bromine ";" 00:23:AE:90:FA:C6 ";" 144.38.198.130";151'
print line
line = [s.strip() for s in line.replace('"', '').split(';')]
print line
name, macAddress, ipAddress, roomNum = line
d = {'ip': ipAddress, 'mac': macAddress, 'name': name, 'room': roomNum}
print d
</code></pre>
<p><strong>输出</strong></p>
<pre><code>"bromine ";" 00:23:AE:90:FA:C6 ";" 144.38.198.130";151
['bromine', '00:23:AE:90:FA:C6', '144.38.198.130', '151']
{'ip': '144.38.198.130', 'mac': '00:23:AE:90:FA:C6', 'name': 'bromine', 'room': '151'}
</code></pre>
<hr/>
<p>我应该提到,来自<code>for line in file:</code>的每一行都将以换行符结尾;我的代码会将其与列表中的<code>s.strip()</code>中的其他空白一起删除。未能从文本文件输入行中删除换行符可能会导致神秘的&;或恼人的行为。。。你知道吗</p>