Python:从名称中删除一些字符后比较文件名

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

蟒蛇:

我正在尝试从名称中删除一些n个字符后比较目录中的文件名。如果文件名在条带之后存在,那么它将在名称的末尾添加一个数字。

我创建了一个代码重命名目录中的所有文件名,但由于条带后存在相同的文件名,我无法尝试进行比较和然后重命名。

import os 

def main(): 
    i = 0

    for filename in os.listdir("C:\\Users\User\Desktop\Tests"): 

        try:
            dirName != filename
            print (filename)

        except dirName == filename:
            dst ="dup" + str(i) + ".txt"
            src = dirName 
            dst ='Test'+ dst

        # rename() function will 
        # rename all the files 
            os.rename(src, dst) 
            i += 1

# Driver Code 
if __name__ == '__main__': 

    # Calling main() function 
    main() 

我得到它直接重命名文件,但无法与文件名进行比较然后重命名,如果它是相同的名称。蟒蛇新手!

python rename filenames
1个回答
0
投票
def main():
    i = 0
    for root, dirs, files in os.walk("C:\\Users\User\Desktop\Tests"):
             for filename in files:
                for filename2 in files :
                    if filename != filename2: # if your file name is not repetitious you will pass it and compare next one 
                        #print(filename)
                        continue
                # if a repetitious filename found your code for rename it will come up
                dst ="dup" + str(i) + ".txt"
                src = filename 
                dst ='Test'+ dst
                os.rename(src, dst)
© www.soinside.com 2019 - 2024. All rights reserved.