本文主要讨论如何使用python实现单个文件的复制。Python下拷贝文件主要基于shutil包,使用命令”import shutil”载入该包,主要代码如下:

1
shutil.copy(source\_file, target\_file)

要注意的:

1.source_file具体指定到文件名;

2.如果target_file指定到文件目录,复制后的文件与源文件的名称相同;如果target_file指定到具体的文件名,则复制后的文件名采用指定的文件名;

示例代码:

1
2
3
4
5
6
7
8
9
10
def copy_file(result):
      source = ORIGINAL_HTML
      target = TARGET_DIR
      target_file = target+'\\'+'a.html'
try:
      shutil.copy(source, target_file)
except IOError as e:
      print("unable to copy file. %s" % e)
except Exception:
      print("error in copy_file()")

上述示例代码中的target只指定到文件目录,所以target_file进一步指定到目标文件名”a.html”,要注意的中间的连接符号是”\\“,而不是’\‘,如果换成’\‘,会导致如下的错误:

SyntaxError: invalid syntax

主要原因是’\‘是转义符,python遇到转义符会自动转义,导致路径不正确,可行的解决方案有:

  • 1.将所有的’\‘转换为’\\‘,这样python就会把所有的’\‘认为是普通字符,不会进行转移;
  • 2.将所有的’\‘转换为’/‘即可;
  • 3.将路径字符串前加字母r, 比如r’C:\Users\tfzhang\Desktop\test.doc’, 即告诉Python,引号里的东西都是字符串,不转义;

本文采用的就是上述解决方案1,这也是为什么使用’\\‘而不是’\‘的原因。