【问题标题】:Copying a file to a path, with Python [duplicate]使用 Python 将文件复制到路径 [重复]
【发布时间】:2012-10-15 12:50:50
【问题描述】:

我想将某个文件复制到指定路径。这个指定的路径有很多预先不存在的目录层次结构,需要在复制过程中创建。

我尝试了shutil.copy* 函数,但它们似乎都要求预先创建目标路径处的目录。

是否有任何功能可以根据需要设置这些目录并复制文件?

示例用法:

copy_file('resources/foo.bar', expanduser('~/a/long/long/path/foo.bar'))

【问题讨论】:

标签: python python-3.x


【解决方案1】:

你可以使用os.makedirs递归创建你需要的树枝,然后使用shutil.copy

target_dir = os.path.expanduser('~/a/long/long/path')
os.makedirs(target_dir)
shutil.copy('resources/foo.bar', os.path.join(target_dir, 'foo_bar'))

这样,您将问题分解为可管理的任务(创建然后复制),这样您就可以处理目录创建崩溃的情况(遵循“显式优于隐式”)。

【讨论】:

  • makedirs的参数由os.path.dirname给出。
  • 我的 +1。如果目标目录不存在并且要复制整个树,也可以使用shutil.copytree()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2022-10-17
  • 2014-07-25
  • 2022-01-24
相关资源
最近更新 更多