【问题标题】:placing file in folder with number in python在python中将文件放在带有编号的文件夹中
【发布时间】:2018-07-18 14:24:43
【问题描述】:

我刚开始使用 python,我正在尝试将文件放在目录中。该目录的名称后面有一个数字,该数字根据创建日期而变化。我用于放置文件的函数仅将目录 + 文件作为参数。因此,该函数的参数可能是:C:\Program Files\example241\file.txtC:\Program Files\example948\file.txt 等。我如何将文件放在该文件夹中,而不考虑它的编号?我可以使用通配符吗?

【问题讨论】:

  • 问题不清楚。是否要将文件从特定目录移动到与今天日期对应的目录?
  • 你知道号码还是只有一个exampleN目录?
  • 对不起,我不清楚。我基本上是在尝试将文件放在该个人电脑上以某个单词开头的任何目录中。因此,如果目录 example827 存在,请将文件放在那里,如果文件夹名称以 382 或 230 或 132 等结尾,则执行相同操作。
  • 您可以使用os 获取当前目录中所有文件的列表,然后您可以搜索该列表以找到您要移动/复制文件的位置。当您拥有要放置文件的目录列表时,您可以使用 shutil.copyfile() 轻松地将源文件复制到目标位置。
  • 为了提取目录的名称,您可以简单地遍历从os.listdir() 获得的所有文件的列表,然后搜索关键字,在您的情况下是 - 示例.

标签: python directory wildcard


【解决方案1】:

您可以使用glob 模块

from glob import glob
# this gives all the folders that answer to this pattern 
folders = glob(r'C:\Program Files\example*')  
folder = folders[0]  # pick the first one

用 os 模块附加所需的文件名

import os
file_name = 'file.txt'
file_path = os.path.join(folder, file_name)

然后将文件保存到file_path

【讨论】:

    猜你喜欢
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多