خب با اجازه آقای حمزه ئی، من کد رو اینجوری تغییر دادم و الان دیگه مشکلش حل شده:
#!/usr/bin/python3.5
i=0
max_num=0
output=open('out.txt','w')
line_number=0
for l in open('./file.txt'):
line_number+=1
try:
s1,s2,s3,s4,s5,*tail=map(float,l.split())
if s2==1:
continue
i+=1
if i==4000:
break
if s5>max_num:
max_num=s5
found_line=l
output.write('line number in original file:'+str(line_number)+'\tData:'+found_line)
except ValueError:
print('error while reading line',line_number)
output.close()
print('out3:',found_line.rstrip())
ch=found_line.split()
print('out4:',float(ch[0])-4000)
این اصل فایله:
ehsan@ehsan-SVF152190X:~/Desktop/python$ cat -n file.txt |tail
2691 7049 2 168.96 105.6 3.52
2692 7050 2 172.48 105.6 3.52
2693 7051 2 176 105.6 3.52
2694 7052 2 179.52 105.6 3.52
2695 7053 2 183.04 105.6 3.52
2696 7054 2 186.56 105.6 3.52
2697 7055 2 190.08 105.6 3.52
2698 7056 2 193.6 105.6 3.52
2699 7057 2 197.12 105.6 3.52
2700
و اینم نتایج:
ehsan@ehsan-SVF152190X:~/Desktop/python$ ./simple.py
error while reading line 2700
out3: 4901 2 0 0 3.52
out4: 901.0
محتویات فایل خروجی:
ehsan@ehsan-SVF152190X:~/Desktop/python$ cat out.txt
line number in original file:543 Data:4901 2 0 0 3.52
البته الان فهمیدم یه سوتی هم دادم که اون این بود که اون خطی که اطلاعات رو توی فایل خروجی مینوشت باید میرفت داخل if آخر.(الان دیگه کد درسته)