编写程序将输入的任意一个.py 文件每行行首加“行号-”后保存为“demo_原文件名”。
时间: 2024-03-28 14:42:27 浏览: 84
activerecord-commentator:将caller_location(文件名,行号和方法名)添加为SQL注释
好的,这个问题我可以回答。以下是Python实现的代码示例:
```python
import os
def add_line_number(file_path):
# 读取原文件内容
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 在每行行首添加行号
numbered_lines = [f"{i+1}-" + line for i, line in enumerate(lines)]
# 保存为新文件
file_name = os.path.basename(file_path)
new_file_path = f"demo_{file_name}"
with open(new_file_path, 'w', encoding='utf-8') as f:
f.writelines(numbered_lines)
print(f"已生成新文件 {new_file_path}")
if __name__ == '__main__':
file_path = input("请输入要添加行号的文件路径:")
add_line_number(file_path)
```
这个程序的实现思路很简单,主要分为三个步骤:
1. 读取原文件内容。
2. 在每行行首添加行号。
3. 保存为新文件。
在这个程序中,我使用了Python内置的 `os` 模块来获取文件名,并使用了“列表推导式”来快速生成每行添加行号后的内容。最后,我使用Python的 `with` 语句来自动管理文件的打开和关闭操作,这样可以避免忘记关闭文件而导致资源泄漏或其他问题。
阅读全文