我有一个朋友制作的python代码,因为我对python知之甚少。 我想将它转换为GUI,因为我们将代码作为程序分发,以便初学者友好。
无论如何这里是代码:
import time, os, sys
try:
if len(sys.argv) < 2:
fn = raw_input("Enter the name of the file you want to edit: ")
else: fn = sys.argv[1]
f = open(fn)
b = f.read()
for i in b[:300]:
print hex(ord(i))[2:],
f.close()
line = str(0x15c)+'-'+str(0x15f)
if len(sys.argv)<3:
hexcode = raw_input("3 bytes color hex number: ")
else: hexcode = sys.argv[2]
if not hexcode.startswith('0x'):
hexcode = '0x'+hexcode
hexstr = '0x'
start = int(line.split('-')[0])
end = int(line.split('-')[1])
for i in b[start:end]:
hexstr+=hex(ord(i))[2:]
ascii = ''
for i in range(2,len(hexcode),2):
char = chr(int(hexcode[i:i+2],16))
ascii+=char
b = b[:start]+ascii+b[end:]
for i in b[:300]:
print hex(ord(i))[2:],
except Exception, x:
print x
time.sleep(3)
finally:
f = open(fn,'wb')
f.write(b)
f.close()
现在我在教程中发现了这个,但不知道如何使用它: #simple GU0I
from Tkinter import *
root = Tk()
root.title("BreffHexReplace")
root.geometry("400x200")
app = Frame(root)
app.grid()
label = Label(app, text = "This is a label!")
label.grid()
root.mainloop()
有任何帮助吗? 谢谢!
还有一件事,在这段代码中,输入名称或者替换十六进制后,它会显示十六进制列表,如何才能显示?
谢谢!
答案 0 :(得分:0)
因为这个程序很简单,你可以试试EasyGui(easygui.sourceforge.net/)。首先,添加import easygui as eg
。该行加载EasyGui模块。接下来,将fn = raw_input("Enter the name of the file you want to edit: ")
替换为fn = eg.fileopenbox(title = 'HexReplace', msg = 'Browse to the file you wish to edit')
。这将打开一个框以浏览到所需文件。同时将hexcode = raw_input("3 bytes color hex number: ")
替换为hexcode = eg.enterbox(msg = '3 bytes color hex number', title = 'HexReplace')
。这会弹出一个输入框。将print x
替换为eg.msgbox(title = 'HexReplace', msg = x)
。这显示了一个带有异常的消息框。 title
参数是窗口标题。要删除十六进制列表,请在导入和try
块之间添加:null = open(os.devnull, 'W's); oldstdout = system.stdout; sys.stdout = null
这将使所有打印消息静音。