检查文件中的字符是否可以是整数

时间:2015-03-03 06:14:19

标签: python exception

因此,在Python分配中,我必须为mtf编码文件编写解码器,该文件由十六进制字符和单词组成。在我的解码器中,我通过char读取.mtf文件char并检查它是否是一个字母或十六进制数,而我似乎无法使其工作。我已经删除了我的大部分代码以重新开始,但这是基本框架:

f = open(str(sys.argv[1]), "r")
new_f = str(sys.argv[1])
new_f = new_f[:len(new_f)-3]+ "txt"
f_two = open(new_f, "w")
myList = []
word = ""
words = []
index = 0


while True:
    value = None
    c = f.read(1)
    if not c:
        break
    try:
        value = int(c)

    except ValueError:
        word = word + c

我为可怕的编写代码以及我写这篇文章时可能犯的任何错误道歉,这对我来说还是比较新的。

谢谢!

1 个答案:

答案 0 :(得分:1)

当您从Python中读取文件时,您正在读取字符串。字符串还有一个名为isdigit()的方法,它告诉您一个字符是否为数字。

while c:
    c = f.read(1)
    if c.isdigit():
        myList.append(c)

如果要检查十六进制字符(0-9,A-F),则必须构建自己的检查功能。像这样:

def is_hex(n):
    return n.isdigit() or ("A" <= n.upper() <= "F")