擅长:python、mysql、java
<p><code>sys.argv</code>是传递给Python脚本的命令行参数列表,其中<code>sys.argv[0]</code>是脚本名称本身。</p>
<p>这是错误的,因为您没有传递任何命令行参数,因此<code>sys.argv</code>的长度为1,因此<code>sys.argv[1]</code>超出了界限。</p>
<p>要“修复”,只需确保在运行脚本时传递命令行参数,例如</p>
<pre><code>python ConcatenateFiles.py /the/path/to/the/directory
</code></pre>
<p>但是,您可能希望使用某些默认目录,因此当您不传入目录时,该目录仍然有效:</p>
<pre><code>cur_dir = sys.argv[1] if len(sys.argv) > 1 else '.'
with open(cur_dir + '/Concatenated.csv', 'w+') as outfile:
try:
with open(cur_dir + '/MatrixHeader.csv') as headerfile:
for line in headerfile:
outfile.write(line + '\n')
except:
print 'No Header File'
</code></pre>