如何在Python中重命名点文件名

发布于 2025-01-20 08:37:41 字数 1104 浏览 4 评论 0 原文

在 GIT 中,我们有一个名为 .gitignore 的文件,它们的技术术语是什么(这些文件可以有效地称为“文件名”),它们应该被称为什么?

我用 python 编写了一个简单的脚本来更改文件名,但是,Python 似乎无法识别以点 (.) 开头的文件夹和文件,例如 .git、.gitignore 等

import os
import glob
rootdir = 'C:\\INBOX\\POLINATE\\JUNKS\\**'

# #work on files
for filename in glob.iglob(rootdir, recursive=True):
    
    if os.path.isfile(filename): # filter dirs        
        print(filename)

        try:                
            ##rename
            new_filename = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(14)).lower()
            new_extension = new_filename[0:3]
            final_name = os.path.dirname(filename) + os.sep + new_filename+'.'+new_extension
            os.rename(filename,final_name)
            print(final_name)

        except Exception as e:
            #raise e            
            print(e)

上面的脚本适用于带有 Xn 的文件.3 格式(Xn 文件名在允许范围内,包括空格)。(三 (3) 个字母扩展名),但它留下以点 (.) 开头的文件

在此处输入图像描述

In GIT, we have a file called .gitignore, what is the technical term to call them, (are files like these valid to be called as "filename"), What are they supposed to be called?

I have written a simple script in python to change the name of files, however, Python doesn't seem to recognize folders and files that starts with a dot (.) such as .git, .gitignore etc

import os
import glob
rootdir = 'C:\\INBOX\\POLINATE\\JUNKS\\**'

# #work on files
for filename in glob.iglob(rootdir, recursive=True):
    
    if os.path.isfile(filename): # filter dirs        
        print(filename)

        try:                
            ##rename
            new_filename = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(14)).lower()
            new_extension = new_filename[0:3]
            final_name = os.path.dirname(filename) + os.sep + new_filename+'.'+new_extension
            os.rename(filename,final_name)
            print(final_name)

        except Exception as e:
            #raise e            
            print(e)

Script above works for files with Xn.3 format (Xn filenames within allowable range including spaces).(Three (3) letter extension) but it leaves files starting with a dot (.)

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

櫻之舞 2025-01-27 08:37:41

开头的文件主要是隐藏的文件,在许多情况下,您不需要。

在您的情况下, .git .gitignore 是GIT操作的支持文件。实际上,您的程序不需要这些文件即可运行。
.gitattributes 文件包含您的git信息, .gitignore 文件告诉git忽略git支持文件。

您可以在同一文件夹中看到 .vs 文件。我认为您正在使用VSCODE,可能是VSCODE的信息文件。

Files starting with . are mainly hidden files that you don't need in many cases.

In your case .git and .gitignore are the supporting files for git operations. Actually your program dont need these files to run.
.gitattributes files contains your git informations and .gitignore file tells git to ignore the git supporting files.

You can see a .vs file in the same folder. I assume you are using vscode and it might be the information files of vscode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文