我有一个类似于下面给出的文件,我正在寻找一种方法来读取第2行到第7行,并使用Python将其写入新文件。
16 processes; 52 threads;
CPU states: 0.0% user, 0.0% kernel
CPU 0 Idle: 99.9%
CPU 1 Idle: 99.7%
CPU 2 Idle: 100.0%
CPU 3 Idle: 100.0%
Memory: 1024M total, 854M avail, page size 4K
PID TID PRI STATE HH:MM:SS CPU COMMAND
1 15 10 Run 0:00:00 0.03% kernel
28688 1 10 Rply 0:00:00 0.02% top
11 2 21 Rcv 0:00:00 0.00% io-pkt-v6-hc
4 2 10 NSlp 0:00:00 0.00% random
6 1 24 Rcv 0:00:00 0.00% devc-serscif
1 18 10 Rcv 0:00:00 0.00% kernel
28686 1 10 SigW 0:00:00 0.00% devb-sdmmc-rcar_mmcif
28684 1 10 SigW 0:00:00 0.00% qconn
1 16 10 Rcv 0:00:00 0.00% kernel
2 1 10 Rcv 0:00:00 0.00% slogger2
Min Max Average
CPU 0 idle: 99% 99% 99%
CPU 1 idle: 99% 99% 99%
CPU 2 idle: 100% 100% 100%
CPU 3 idle: 100% 100% 100%
Mem Avail: 854MB 854MB 854MB
Processes: 16 16 16
Threads: 52 52 52
我想找到一种方法将这一部分保存在新的文本文件中。
CPU states: 0.0% user, 0.0% kernel
CPU 0 Idle: 99.9%
CPU 1 Idle: 99.7%
CPU 2 Idle: 100.0%
CPU 3 Idle: 100.0%
Memory: 1024M total, 854M avail, page size 4K
我可能不熟悉python而不是程序员,有人可以帮助我吗?
最好的问候
答案 0 :(得分:0)
所以这应该是您想要的东西-尽管听起来好像我不会使用python,而是一些bash命令...
with open('file.txt','r') as f: #open your file to read it
file = f.readlines() #save lines of the file as list
with open('newfile.txt','w') as f: #open (create) an output file
f.write(file[1:7]) #write the 2nd to 7th list elements in there (0-incremented)
答案 1 :(得分:0)
使用简单的迭代。
例如:
with open(filename) as infile, open(filename2, "w") as outfile:
next(infile)
for _ in range(6):
outfile.write(next(infile))
输出:
CPU states: 0.0% user, 0.0% kernel
CPU 0 Idle: 99.9%
CPU 1 Idle: 99.7%
CPU 2 Idle: 100.0%
CPU 3 Idle: 100.0%
Memory: 1024M total, 854M avail, page size 4K
答案 2 :(得分:-1)
尝试一下:
with open('first_file.txt', 'r') as file1, open('second_file.txt', 'a') as file2:
lines = file1.readlines()
file2.write("".join(lines[1:7]))
注意:如果您的输入文件很大,这将无法正常工作。