Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从文本文件中删除空白和注释?_Python_Lexical Analysis - Fatal编程技术网

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

Python 如何从文本文件中删除空白和注释?,python,lexical-analysis,Python,Lexical Analysis,我想读取一个包含Python源代码的文本文件,并从中删除注释和额外的空白 file.txt(源代码文件) 要删除空行、尾随空格以及注释,可以使用: 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

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

file.txt(源代码文件)
要删除空行、尾随空格以及注释,可以使用:

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
阶乘=1

你真正的问题是什么?这目前只是一个问题陈述,您需要帮助解决什么具体问题?我建议查看内置模块,当您必须逐行更改文本文件时,该模块非常有用。
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)
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)