Python-将前导0添加到文件号

Python-将前导0添加到文件号,python,python-3.x,Python,Python 3.x,我对python和编程都是新手 我在一个文件夹中有1200个文本文件,格式如下: 詹姆斯-1-如何。txt 莎拉-2-如何。txt 斯蒂芬-3-如何。txt … 玛丽亚-200-如何。txt … 拉什福德-1200-如何。txt 我想重命名1000以下的文件以添加前导0,这样它们的位数都相同,例如0001、0050、0300 到目前为止,这是我的代码,但我被卡住了: #!python3 import os from tkinter import filedialog cleaned_file

我对python和编程都是新手 我在一个文件夹中有1200个文本文件,格式如下:
詹姆斯-1-如何。txt
莎拉-2-如何。txt
斯蒂芬-3-如何。txt

玛丽亚-200-如何。txt

拉什福德-1200-如何。txt

我想重命名1000以下的文件以添加前导0,这样它们的位数都相同,例如0001、0050、0300

到目前为止,这是我的代码,但我被卡住了:

#!python3

import os
from tkinter import filedialog

cleaned_files = []

root_folder = filedialog.askdirectory()
os.chdir(root_folder)
folder_files = os.listdir(root_folder)

# Filter out files starting with '.' and '_'
cleaned_files = []
for item in folder_files:
    if item[0] == '.' or item[0] == '_':
        pass
    else:
        cleaned_files.append(item)


# Find file names of the root folder and save them


def getFiles(files):
    for file in files:
        file_start, file_number, file_end = file.split('-')
        file_number.strip()

        # Was trying to append just one 0 to numbers <10
        if int(file_number) < 10:
            print(file_number)
        else:
            pass
getFiles(cleaned_files)
#!蟒蛇3
导入操作系统
从tkinter导入文件对话框
已清理的_文件=[]
root_folder=filedialog.askdirectory()
chdir(根文件夹)
folder\u files=os.listdir(根文件夹)
#筛选出以“.”和“\”开头的文件
已清理的_文件=[]
对于文件夹\u文件中的项目:
如果项目[0]='.'或项目[0]='.':
通过
其他:
已清理的\u文件。追加(项)
#查找根文件夹的文件名并保存它们
def getFiles(文件):
对于文件中的文件:
文件开始,文件编号,文件结束=file.split(“-”)
文件编号.strip()

#试图将一个0附加到数字修改您的附加方法,如下所示(由@gtlambert和@zondo提到):


#试图只在数字后面加一个0,正如您在评论中所说,
str.zfill
是一个可能的简单解决方案

您只需更改
getfiles
函数:

def getFiles(files):
    for file in files:
        file_start, file_number, file_end = file.split('-')
        num = file_number.split().zfill(4)  # num is 4 characters long with leading 0

        new_file = "{}- {} -{}".format(file_start, num, file_end)
        # rename or store the new file name for later rename

您想使用
str.zfill()
-这将在字符串中添加前导零,其中required@gtlambert你能给我举一个例子,说明在添加零后如何重命名吗?你真的需要把你的问题缩小到某个特定的范围,然后我可以提供详细的帮助!
def getFiles(files):
    for file in files:
        file_start, file_number, file_end = file.split('-')
        num = file_number.split().zfill(4)  # num is 4 characters long with leading 0

        new_file = "{}- {} -{}".format(file_start, num, file_end)
        # rename or store the new file name for later rename