python学习
针对文本一行一行读并且删除数据中的\n
txt = f.readline().split(’ ') #每次读取一行内容
line = [loc.strip("\n") for loc in txt]
将文本中的16进制字符串数据转换成10进制存放到列表中
cfg_write_value.append([int(data,16)for data in line[x:]])
x:可以为任意的值,指定数据。
文本清空:
file = open(“test.txt”, ‘w’).close()
利用变量逐行读取上位机中的文本框中的命令:
txt_star = 1.0
txt_end = 1.51#注意在其末尾不能使用0例如1.50在转换成字符串的时候会直接转换成1.5。
send_data = txt_send_show.get(str(txt_star),str(txt_end)).split(’ ‘)
进入命令:
elif send_data[0] == ‘cfg_write_mode’:
txt_star += 1
txt_end += 1
send_data = txt_send_show.get(str(txt_star),str(txt_end)).split(’ ‘)#获取下一条命令
while (send_data[0] == ‘cfg_write_field’):
txt_star += 1
txt_end += 1
send_data = txt_send_show.get(str(txt_star),str(txt_end)).split(’ ')#一直读取文本直到读取到了cfg_write_end。并且将txt_star txt_end 变量清零。
将bin文件转换成十六进制txt文件,隔开16个数据为一行:
import os
import shutil
import sys
byt = []
data = []
file_bin=open(“GBK16.bin”,‘rb’)
file_txt=open(‘GBK16.txt’,‘w’).close()
file_txt=open(‘GBK16.txt’,‘w’)
while 1:
byt = file_bin.read(16)
for i in byt:
data.append(hex(i))
data.append(’,’)
data.append(’\n’)
file_txt.writelines(data)
data.clear()
if not byt:
break
print("\n转换后:",data)
#关闭文件
file_bin.close()
file_txt.close()