把文件a.txt和b.txt的内容加上行号(空白行不加),然后合并到文件c.txt中。
时间: 2024-02-24 19:00:42 浏览: 110
好的,您可以使用以下Python代码来实现这个需求:
```
with open("a.txt", "r") as f_a, open("b.txt", "r") as f_b, open("c.txt", "w") as f_c:
for i, line in enumerate(f_a):
if line.strip(): # 如果不是空白行
f_c.write(f"{i+1}. {line}")
for i, line in enumerate(f_b):
if line.strip(): # 如果不是空白行
f_c.write(f"{i+1}. {line}")
```
这段代码会打开文件a.txt、b.txt和c.txt,然后按行读取a.txt和b.txt的内容,加上行号后写入c.txt中。其中`enumerate()`函数可以同时返回每一行的行号和内容,`strip()`函数可以去掉行末的换行符和空格。
相关问题
把文件a.txt和b.txt中的内容加上行号(空白行不加),然后合并到c.txt
好的,可以使用以下Python代码来实现:
```python
with open('a.txt', 'r') as f1, open('b.txt', 'r') as f2, open('c.txt', 'w') as f3:
for i, line in enumerate(f1):
if line.strip(): # 判断是否为空行
f3.write(f'{i+1}. {line}')
for i, line in enumerate(f2):
if line.strip(): # 判断是否为空行
f3.write(f'{i+1}. {line}')
```
这段代码会打开文件a.txt和b.txt,逐行读取内容并加上行号,然后将加了行号的内容写入文件c.txt。注意,这里使用了Python的with语句来自动关闭文件,同时还使用了enumerate函数来获得行号。
linux把文件a.txt和b.txt中的内容加上行号(空白行不加),然后合并到c.txt
好的,可以使用以下Linux命令来实现:
```bash
awk 'NF {print NR ". " $0}' a.txt b.txt > c.txt
```
这个命令使用awk工具,对于文件a.txt和b.txt中的每一行,如果该行不为空白行,则输出行号和该行内容,并将输出重定向到文件c.txt中。其中,NR表示当前行号,$0表示整行内容,NF表示该行中的字段数量,如果该行不为空白行,则字段数量大于0,因此条件为NF。