Python 更改多个文件的后缀

Python 更改多个文件的后缀,python,python-3.x,file-rename,Python,Python 3.x,File Rename,我有多个文本文件,其名称包含6组以句点分隔的数字,与模式年、月、日、时、分、秒相匹配 我想给这些文件添加一个.txt后缀,使它们更容易作为文本文件打开 我尝试了以下代码,并尝试了os。重命名但未成功: 问题 如何将.txt添加到这些文件名的末尾 path = os.chdir('realpath') for f in os.listdir(): file_name = os.path.splitext(f) name = file_name +tuple(['.txt']) print(na

我有多个文本文件,其名称包含6组以句点分隔的数字,与模式
年、月、日、时、分、秒相匹配

我想给这些文件添加一个
.txt
后缀,使它们更容易作为文本文件打开

我尝试了以下代码,并尝试了
os。重命名
但未成功:

问题

如何将
.txt
添加到这些文件名的末尾

path = os.chdir('realpath')

for f in os.listdir():

file_name = os.path.splitext(f)
name = file_name +tuple(['.txt'])
print(name)

您的脚本中有许多问题。在使用之前,您应该阅读每个方法的文档。以下是您的一些错误:

  • os.chdir('realpath')
    -是否确实要转到
    reapath
    目录
  • os.listdir():
    − 缺少参数,您需要向
    listdir
    提供路径
  • 打印(名称)
    -这将打印新文件名,而不是实际重命名文件
下面是一个脚本,它使用正则表达式在当前目录中查找名称由6组数字组成的文件(对应于您的模式
year.month.day.hour.minute.second
),然后将
.txt
后缀添加到带有
os.rename
的文件中:

import os
import re
regex = re.compile("[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+")
for filename in os.listdir("."):
    if regex.match(filename):
        os.rename(filename, filename + ".txt")

我也会考虑你的建议,谢谢。FileNotFoundError:[Errno 2]没有这样的文件或目录:“2017.12.22.12.19.29.->”2017.12.22.12.19.29.txt“即使目录中有文件,它也表示找不到@RonanBoiteau