【问题标题】:Moving files using Python [closed]使用 Python 移动文件 [关闭]
【发布时间】:2013-01-16 14:41:18
【问题描述】:

我在一个目录中有一大堆文件。我想要一个程序循环遍历目录中的文件并提示我输入目录的名称(它们都在同一个目录中),以便程序将文件移动到指定的目录。

我想要一个终端解决方案,更具体地说,Python 方式对我很有指导意义

【问题讨论】:

  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 不管是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多。
  • 使用 osshutil
  • 与普通 shell 为移动文件提供的功能相比,您想要实现什么不同?
  • @MartijnPieters 我同意你的观点。我会用我写的一些代码回来。谢谢。

标签: python file-io file-management


【解决方案1】:

您的问题对于您需要帮助的内容有点模糊,但这里有一个模板可以帮助您入门。使用osshutil 列出目录和移动文件。

import shutil, os

target = raw_input("Target directory: ")

# Make sure the target dir exists!
assert(os.path.exists(target))

for f in os.listdir('.'):
    b = raw_input("Press y to move file %s to %s: " %(f,target))
    if b.lower() == 'y':
        shutil.move(f, target)

【讨论】:

  • 差不多了!我可以根据我的目的适当地修改它。谢谢。
  • 顺便问一下,如果目标目录不存在会怎样?
  • @KannappanSampath 试试看!将会发生的情况是assert 命令将失败,因为os.path.exists(target) 将是错误的。 assert 是一个非常有用的健全性检查,如果你想扩展它可以抛出更多有用的异常。
  • 现在,我实际上做了一些更令人兴奋的事情:我没有进行完整性检查,所以我想知道那个文件会发生什么!
  • @KannappanSampath 我的猜测是该文件已重命名为 target,因为(我认为)shutil.move 知道它是移动到目录目标还是文件位置。
猜你喜欢
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多