open
: 按读/写模式打开文件file = open('路径/test_ntpd.txt','r') # 读取模式 file.close() # 关闭文件
readline
: 读取一行, 返回字符串line_data = file.readline() # 放到循环中, 一行行读取 if line_data == '': # 读到最后, 退出循环 break
find
: 在一个字符串中找子串出现的位置, 找不到返回-1time_flag = line_data.find("*192.7.7.128") if time_flag == 0: # 寻找开投行有该子串的行 data_offset.append(line_data[-15:-9]) # 找到后将该行末的数字加在列表后
data_offset = []
file = open('FileR.txt','r') #打开文件
while True:
line_data = file.readline() #读取所有行
if line_data == '':
break
ntpdate_flag = line_data.find("ntpdate")
if ntpdate_flag != -1:
data_offset.append('ntpdate')
time_flag = line_data.find("*192.7.7.128")
if time_flag == 0:
data_offset.append(line_data[-15:-9])
file.close()
file_W = open('FileW.txt','w') #打开文件
for line in data_offset:
file_W.write(line)
file_W.write('\n')
被读取文件示例, 读取*192.7.7.128
开头的行的倒数第二个数字并存储
25 Sep 10:20:31 ntpdate[29398]: adjust time server 192.7.7.128 offset 0.000788 sec
\n
Sun Sep 25 10:21:35 CST 2022
remote refid st t when poll reach delay offset jitter
==============================================================================
192.7.7.128 .LOCL. 1 u 63 64 1 10.010 1.781 0.000
\n
Sun Sep 25 10:22:39 CST 2022
remote refid st t when poll reach delay offset jitter
==============================================================================
192.7.7.128 .LOCL. 1 u 61 64 3 10.619 1.484 0.297
\n