使用Regex检查文件扩展名

2024-05-26 22:56:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个脚本,根据使用正则表达式的字幕文件更改视频文件的名称。在

for files in curDir:
    if re.search(r'.*[.srt]$',files): #1
        print files;
    if re.search(r'.*[^.srt]$',files): #2
        print files;

在执行过程中,我发现#1if条件被连续执行,以便打印所有.srt文件,那么只有#2if条件被执行并且所有视频文件都被打印。在

那些if条件不应该像先files然后#2交替执行吗?在

我想我的问题是re.search返回结果的方式。 所以,我需要帮助来逐个访问每个文件的if条件。在


Tags: 文件inre脚本名称forsearchif
2条回答

抱歉,我还不能评论现有的答案。只是想指出的是,最好使用所选答案中的内容,稍加修改:

for file in curDir:
    if file.lower().endswith('.srt'):  # Filename ends in .srt
        ...
    else:                       # Filename does not end in .srt
        ...

您不需要Regex来检查文件名是否以.srt结尾。^{}很容易做到:

for files in curDir:
    if files.endswith('.srt'):  # Filename ends in .srt
        ...
    else:                       # Filename does not end in .srt
        ...

只有当您有复杂的模式需要匹配时才应该使用Regex(然后,无论如何都要使用它!)。否则,应该避免使用它,因为它比Python的内置工具慢,而且对于没有经验的人来说也有些困难。在

相关问题 更多 >

    热门问题