读取一个python源程序文件,去掉其中的空行和注释,然后写入另一个文件
时间: 2023-06-05 16:47:34 浏览: 206
可以使用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源程序文件,去掉其中的空行和注释,然后写入另一个文件
好的,我可以为您提供一个示例代码来实现您的需求。请注意,为了避免重复,我不会重复您刚才说的话。
```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 源程序in.txt文件,去掉其中的空行和注释(只考虑#的注释),然后写入另一个文件out.txt中。
以下是 Python 代码实现:
```python
with open('in.txt', 'r') as infile:
lines = infile.readlines()
clean_lines = []
for line in lines:
# 去掉空行
if line.strip() == '':
continue
# 去掉注释
if '#' in line:
line = line[:line.find('#')]
clean_lines.append(line)
with open('out.txt', 'w') as outfile:
outfile.write('\n'.join(clean_lines))
```
该代码首先打开 `in.txt` 文件,读取其中的所有行并保存在一个列表 `lines` 中。然后遍历每一行,去掉其中的空行和注释,将不含空行和注释的行保存在另一个列表 `clean_lines` 中。最后,将 `clean_lines` 中的所有行连接成一个字符串,并写入 `out.txt` 文件中。