【问题标题】:Input a ASCII text file / Convert every character it to ASCII value in Python输入一个 ASCII 文本文件/在 Python 中将每个字符转换为 ASCII 值
【发布时间】:2023-03-14 19:20:01
【问题描述】:

我完全是编程初学者,所以请原谅我的错误。

我正在尝试创建一个 Python 程序,该程序将 ASCII 文本文件作为输入,然后将每个字符转换为其 ASCII 数值并仅保留它们的奇数结果。最后,我必须对每个字符进行可视化导出,使用 * 作为百分比条(见图)enter image description here

我已经走到这一步了,

f = open(r"c:\python\7_ASCII\Sample.txt", "r")
result = ' '.join((str(ord(x)) for x in f))
print(f)

这给了我以下错误:

TypeError: ord() expected a character, but string of length 320 found

我尝试了许多方法,例如列表推导,但错误始终出现。

有什么想法吗?

【问题讨论】:

  • 将文件读入字符串。遍历字符串并对每个字符执行ord()
  • f 中的每一个都是代表输入文件每一行的字符串,您需要遍历字符串的每个字符并将其转换为 ASCII 值,这意味着,您缺少一秒钟循环。

标签: python list ascii


【解决方案1】:

您没有阅读您的文本文件。为此,您必须使用f.read():

f = open(r"c:\python\7_ASCII\Sample.txt", "r")
my_text = f.read()
print(my_text)

有了这个,您可以遍历您的文本并应用逻辑。但是,请记住,您可以使用 with 打开文件:

with open(r"c:\python\7_ASCII\Sample.txt", "r") as reader:
    print(reader.read())

【讨论】:

    猜你喜欢
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多