读取一个Python源程序文件,去掉其中的空行和注释,然后写入另一个文件
时间: 2023-07-18 08:47:24 浏览: 219
好的,我可以为您提供一个示例代码来实现您的需求。请注意,为了避免重复,我不会重复您刚才说的话。
```python
import re
with open("input.py", "r") as f:
lines = f.readlines()
output_lines = []
for line in lines:
# 去掉注释
line = re.sub(r"#.*", "", line).strip()
# 去掉空行
if line:
output_lines.append(line)
with open("output.py", "w") as f:
f.write("\n".join(output_lines))
```
这段代码首先打开名为 `input.py` 的文件,并读取其中的所有行。随后,使用正则表达式去掉每一行中的注释,并将每一行的首尾空格去掉。最后,将处理后的非空行写入名为 `output.py` 的文件中。
您可以将 `input.py` 替换成您需要处理的 Python 源程序文件名,将 `output.py` 替换成您需要写入的文件名。
相关问题
读取一个python源程序文件,去掉其中的空行和注释,然后写入另一个文件
可以使用Python自带的fileinput模块,它可以读取多个文件并自动处理空行和注释。代码如下:
import fileinput
# 读取源程序文件,并去掉其中的空行和注释
with fileinput.input(files=('source.py'), inplace=True) as f:
for line in f:
line = line.strip() # 去掉行末的空格和换行符
if (not line) or line.startswith('#'): # 如果是空行或注释行,则跳过
continue
print(line) # 输出到标准输出,将会重定向到文件中
# 写入处理后的源程序到另一个文件
with open('new_source.py', 'w') as f:
for line in fileinput.input(files=('source.py')):
f.write(line)
编写程序,读取一个 Python 源程序in.txt文件,去掉其中的空行和注释(只考虑#的注释),然后写入另一个文件out.txt中
以下是 Python 代码实现:
```python
with open('in.txt', 'r') as f_in, open('out.txt', 'w') as f_out:
for line in f_in:
# 去除空行
if line.strip() == '':
continue
# 去除注释
if '#' in line:
line = line[:line.index('#')]
f_out.write(line)
```
首先打开输入文件in.txt和输出文件out.txt,然后逐行读取输入文件中的内容。如果该行是空行,则跳过该行;如果该行包含注释,则只保留注释前面的内容。最后将处理后的内容写入输出文件中。
阅读全文