使用Python移动和重命名文件

问题描述 投票:0回答:1

我在一个目录中有.xls文件,我需要移动到另一个目录并重命名。这些文件每月更新一次,每个月都有不同的名称。例如,当前名称为Geocortex应用程序-资产捕获-访问者类型的会话(10_01_2018-10_06_2019).csv,下个月它将是Geocortex应用程序-资产捕获-访问者类型的会话(10_01_2018-11_06_2019) .csv这些文件中有几个--之间各有不同的名称,但格式相同,请参见下图。

screen shot of folder

每个月我需要将这些文件移动到另一个文件夹,并在-之间输入名称。例如,需要将其重命名为'Asset Capture.xls'

我的python经验有限...到目前为止,我仅在使用Arcpy的ESRI产品中使用python。我们将不胜感激。

以下是我所做的。我可以移动一个重命名的文件,但是我需要它循环所有xls并使用文件名--之间的名称进行重命名。

导入关闭窗口

import os

os.chdir(r'C:\ Users \ learly \ Downloads']

renFolder =(r'C:\ Users \ learly \ Downloads \ renamed)

oldname ='Geocortex应用程序-资产捕获-按访问者类型划分的会话(10_01_2018-10_06_2019).csv'

newname ='renTest.csv'

shutil.move(oldname,renFolder +'/'+ newname)

python file-rename
1个回答
1
投票

运行此命令会将您第一个文件夹中的所有文件移动到第二个文件夹,并重命名它们:

import os

ORIGINAL_FOLDER = "/path/to/your/original/folder/here/"
NEW_FOLDER = "/path/to/your/new/folder/here/"
for path in os.listdir(ORIGINAL_FOLDER): # all files in the folder
    name = path.split("-")[1] # just the part we want
    # move the file to the new folder, and rename it
    os.rename(ORIGINAL_FOLDER + path,  NEW_FOLDER + name + ".xls")

您可以每月运行一次,也可以设置某种自动的方式,例如cronjob。

© www.soinside.com 2019 - 2024. All rights reserved.