Python 3.x 如何将十进制行编码为十六进制?

Python 3.x 如何将十进制行编码为十六进制?,python-3.x,hex,decimal,Python 3.x,Hex,Decimal,当我尝试这个的时候 f = open('j:/out.txt', 'r') lines = [] for line in f: lines.append(line) f1 = open('j:/out1.txt', 'a') print (''.join(hex(int(c)) for c in line.strip('\n'))) f1.write(''.join(hex(int(c)) for c in line.strip('\n')) + "\n

当我尝试这个的时候

f = open('j:/out.txt', 'r')
lines = []
for line in f:
    lines.append(line)
    f1 = open('j:/out1.txt', 'a')
    print (''.join(hex(int(c)) for c in line.strip('\n')))
    f1.write(''.join(hex(int(c)) for c in line.strip('\n')) + "\n")
    f1.close()
    print (line.strip('\n'))
它的编码返回一些小数字符串不是heximal,如何使它正确地从dec返回heximal值

输入数据仅为十进制行

答复

f = open('j:/out.txt', 'r')
lines = []
for line in f:
    lines.append(line)
    f1 = open('j:/out1.txt', 'a')
    for c in line.strip('\n').split():
        dec = c
        decimal = int(dec);
        inHexadecimal = hex(decimal);
        print (inHexadecimal.strip('0x'));
        f1 = open('j:/out1.txt', 'a')
        f1.write(inHexadecimal.strip('0x') + "\n")
        f1.close()
    print (line.strip('\n'))

f
是一个文件描述符时,我不认为
for line in f
可以做你希望它做的事情。如果我使用ascii文本作为输入数据,它会重新返回十六进制值,可能是因为该等式不正确,最重要的是如何说什么类型的数据返回到十六进制-这个函数。