我想使用Python 3将目录上的所有.txt文件重命名为.csv

时间:2018-05-22 18:53:12

标签: python

希望将文件扩展名从.txt更改为.csv

import os, shutil

for filename in os.listdir(directory):
    # if the last four characters are “.txt” (ignoring case)
    # (converting to lowercase will include files ending in “.TXT”, etc)
    if filename.lower().endswidth(“.txt”): 
        # generate a new filename using everything before the “.txt”, plus “.csv”
        newfilename = filename[:-4] + “.csv”

        shutil.move(filename, newfilename)

1 个答案:

答案 0 :(得分:2)

您可以使用操作系统并重命名。

但是,请允许我给你一个小建议。当你进行这些操作(复制,删除,移动或重命名)时,我建议你先打印你想要实现的东西。这通常是startpath和endpath。

请考虑以下示例,其中操作os.rename()已被注释掉,以支持print()

import os

for f in os.listdir(directory):
    if f.endswith('.txt'):
        print(f, f[:-4]+'.csv')
        #os.rename(f, f[:-4]+'.csv')

通过这样做,我们可以肯定某些事情看起来不错。如果你的目录不是.,你可能需要这样做:

import os

for f in os.listdir(directory):
    if f.endswith('.txt'):
        fullpath = os.path.join(directory,f)
        print(fullpath, fullpath[:-4]+'.csv')
        #os.rename(fullpath, fullpath[:-4]+'.csv')

os.path.join()将确保添加目录路径。