python 批量更改文件拓展名

python 批量更改文件拓展名,第1张

此博客适合小白阅读。

今天,我把CSDN网站前端代码下载下来了,结果是:

看完了一脸,唉,怎么说呢……

于是,我准备解决这个问题。

新建python文件,名曰:批量更改文件名.py

我们的“问题文件”位与 “D:\CSDN\CSDN - 专业开发者社区_files\”。我们在程序中添加以下代码:

import os

path = r'D:\CSDN\CSDN - 专业开发者社区_files\'


def main():
    pass


if __name__ == '__main__':
    main()

再在函数“main”中添加这些(先把“pass”删除):

    for i in os.listdir(path):
        print(i)

输出略。但是,它输出了所有文件,而不是只有“.下载”文件,所以,代码变成了:

    for i in os.listdir(path):
        if os.path.splitext(i)[-1] == '.下载':
            print(i)

os.path.splitext()函数可以获取文件拓展名,但返回值为“元组”,所以要用“[:-1]”。具体见下:

import os
def test(path):
    print(os.path.splitext(path),',',os.path.splitext(path)[-1])
if __name__=='__main__':
    test(r'D:\hh.txt') #output: ('D:\hh', '.txt') , .txt
    test(r'E:\python\python.exe') #output: ('E:\python\python', '.exe') , .exe

接下来批量重命名就好啦:

    for i in os.listdir(path):
        if os.path.splitext(i)[-1] == '.下载':
            os.renames(path+i, path+os.path.splitext(i)[0])

完整代码:

import os

path = r'D:\CSDN\CSDN - 专业开发者社区_files\'


def main():
    for i in os.listdir(path):
        if os.path.splitext(i)[-1] == '.下载':
            os.renames(path+i, path+os.path.splitext(i)[0])


if __name__ == '__main__':
    main()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/798816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存