如何使用python将一个文件夹下的的一个文件重命名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用python将一个文件夹下的的一个文件重命名相关的知识,希望对你有一定的参考价值。

文件夹lig/ligand 里面有一一些文件,其中一个文件名称为result.mol,如何使用python将lig/ligand下面名称为adc.mol文件重新命名为dock.mol?

#批量修改,将lig/ligand里面所有abc.mol改成dock.mol,请指教
import os
import re

orglist = os.listdir('./lig/ligand')
for orgname in orglist:
    filename = orgname.replace('adc.mol','dock.mol)   
    os.rename("%s"%orgname,"%s"%filename)
    print 'changed:'+filename
    
raw_input ('rename done,press any button to quit.')

参考技术A #你确定只是对一个文件重命名,这有什么意义
import os
os.rename("lig/ligand/adc.mol","lig/ligand/dock.mol")

本回答被提问者采纳

将文件重命名为创建时间(仅限批处理文件)

【中文标题】将文件重命名为创建时间(仅限批处理文件)【英文标题】:Rename file to creation time (batch file only) 【发布时间】:2015-04-20 23:38:38 【问题描述】:

不确定仅使用批处理文件是否可行。

我有一个名为 BaseFile.7z 的文件,位置是 E:\Backup\C Drive Zip\BaseFile.7z

是否可以创建一个批处理命令来重命名文件及其创建日期?例如 BaseFile - 02-19-2015.7z

我目前有一个命令,可以用我粘贴在下面的当前日期来重命名文件以供参考,但这并不完全是我想要的。我需要创建日期。

RENAME "E:\Backup\C Drive Zip\Jaipur.txt" "BaseFile - %date:/=-%.txt"

【问题讨论】:

【参考方案1】:
@ECHO OFF
SETLOCAL
SET "filename=U:\sourcedir\zzz.zzz"
IF NOT EXIST "%filename%" ECHO "%filename%" NOT found&GOTO :eof
SET "datepart="
FOR /f "tokens=1-3delims=/-:" %%a IN ('dir /tc "%filename%"') DO IF "%%c" neq "" SET "datepart=%%a-%%b-%%c"
FOR /f %%a IN ("%filename%") DO FOR /f %%d IN ("%datepart%") DO ECHO(REN "%%a" - "%%~na %%d%%~xa"
GOTO :EOF

所需的 REN 命令只是 ECHOed 用于测试目的。 验证命令正确后,将ECHO(REN更改为REN以实际重命名文件。

请注意,在使用日期引用时存在一般的草率。每个文件都有三个日期 - 实际创建日期(使用 /tc)、最后访问日期(/ta)和最后写入日期(/tw)。

该进程找到文件,然后读取dir 列表并选择适当的日期。清单中唯一或最后一行将包含第三个非空标记是相关文件的日期/时间,因此datepart 将获得yyyy-mm-dd hh

for/f %%a 然后将完整的文件名应用到%%a 准备将其分区到其组件中,for/f %%d 将来自datepart 的第一个标记(即直到空格)分配给 %%d。

将组件组合在一起,然后报告结果...

【讨论】:

以上是关于如何使用python将一个文件夹下的的一个文件重命名的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件重命名为子目录

如何使用 C# 将 .TXT 文件重命名为 .OLD? [关闭]

使用python写文件时,如何做到写入文件由于外力删掉了之后可以新创建一个同名文件并继续写入?

JAVA中,如何import自己写的类文件?

用Python批量重命名文件

多个python版本共存时的pip配置