天天看点

用Python拷贝多个文件到同一目录

   有一个文件,里面存有多个文件名,一个文件名一行。如果想把这些文件拷贝到一个目录,可以用下面的代码。下面的代码应该是跨系统的,除了分隔文件全路径那一句。下面的代码假设拷贝所有文件到当前目录的tmp子目录下,目录需先创建。

<code>#encoding=utf-8</code>

<code>import</code> <code>sys</code>

<code>import</code> <code>shutil</code>

<code>if</code> <code>len</code><code>(sys.argv) &lt; </code><code>2</code><code>:</code>

<code>    </code><code>print</code> <code>u</code><code>'缺少参数文件名'</code>

<code>    </code><code>exit(</code><code>-</code><code>1</code><code>)</code>

<code>par_file </code><code>=</code> <code>sys.argv[</code><code>1</code><code>]</code>

<code>file_lst </code><code>=</code> <code>[]</code>

<code>try</code><code>:</code>

<code>    </code><code>with </code><code>open</code><code>(par_file, </code><code>'r'</code><code>) as </code><code>file</code><code>:</code>

<code>        </code><code>for</code> <code>line </code><code>in</code> <code>file</code><code>:</code>

<code>            </code><code>file_lst.append(line)</code>

<code>except</code> <code>IOError as err:</code>

<code>    </code><code>print</code><code>(</code><code>'File error: '</code> <code>+</code> <code>str</code><code>(err))</code>

<code>idx </code><code>=</code> <code>1</code>

<code>for</code> <code>item </code><code>in</code> <code>file_lst:</code>

<code>    </code><code>print</code> <code>idx</code>

<code>     </code><code>item.strip()</code>

<code>     </code><code>lst </code><code>=</code> <code>src.split(</code><code>'\\'</code><code>) </code><code>#这句针对windows</code>

<code>    </code><code>dst </code><code>=</code> <code>'./tmp/'</code> <code>+</code> <code>lst[</code><code>-</code><code>1</code><code>]</code>

<code>    </code><code>print</code> <code>'==============================================================================='</code>

<code>    </code><code>print</code> <code>src</code>

<code>    </code><code>print</code> <code>'-------------------------------------------------------------------------------'</code>

<code>    </code><code>print</code> <code>dst</code>

<code>    </code><code>shutil.copyfile(src, dst)</code>

<code>    </code><code>idx </code><code>+</code><code>=</code> <code>1</code>

第19行的“src = ”被编辑器干掉了。

***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1256838如需转载请自行联系原作者

RQSLT