如何从文本文件中删除空白和注释?

2024-07-01 07:57:52 发布

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

我想读取一个包含Python源代码的文本文件,并从中删除注释和额外的空白

file.txt(源代码文件)

#Pythonprogramtofindthefactorialofanumberprovidedbytheuser.

num= 7


factorial=1

ifnum<0:
    print("Sorry,factorialdoesnotexistfornegativenumbers")
elifn um==0:
    print("Thefactorialof0is1")
else:
    foriinrange(1,num+1):
    factorial=factorial*i
    print("Thefactorialof", num," is", factorial)

我试着阅读该文件并使用列表理解来过滤行,但是删除注释不起作用,并且删除了一些我想保留的空白

with open('file.txt', 'r') as file:
    lines = file.readlines()
    
lines = [line.replace(' ', '') for line in lines]
    
with open('file.txt', 'w') as file:
    file.writelines(lines)

Tags: 文件txt源代码aswithlineopennum
1条回答
网友
1楼 · 发布于 2024-07-01 07:57:52

要删除空行、尾随空格以及注释,可以使用:

import re

with open("file.txt", "r") as file:
    for line in file:
        line = line.rstrip()
        if line:
            if not re.match(r'\s*#', line):
                file.write(line)

输出

num= 7
factorial=1
ifnum<0:
    print("Sorry,factorialdoesnotexistfornegativenumbers")
elifn um==0:
    print("Thefactorialof0is1")
else:
    foriinrange(1,num+1):
    factorial=factorial*i
    print("Thefactorialof", num," is", factorial)

相关问题 更多 >

    热门问题