【问题标题】:How can I convert a list full of hexadecimal integers into a new file?如何将充满十六进制整数的列表转换为新文件?
【发布时间】:2020-08-23 20:19:46
【问题描述】:

我的意思是,我怎样才能得到这样的十六进制值列表:['0x1', '0x2', '0x1e4b1', '0x5b', '0x80', '0x52', '0x111' , '0x6b0d', '0x4e', '0x34a', '0x2067', '0x6ef3', '0x1cf', '0x1b', '0x15b', '0x4f', '0xba8', '0x319'] 并将它们全部放入一个名为十六进制值的新文件?

这里有一些背景信息可以提供帮助: 我有一个 .txt 文件,上面有一些用逗号分隔的数字。然后,我使用 Python 代码打开并阅读它。在那之后,我从文件上的所有数字中列出了一个清单。当我制作一个列表时,数字都是字符串(例如:'9'、'8'等),所以我使用了一些 Python 代码将列表的值转换为整数。之后,我将所有整数转换为十六进制形式。现在,我要做的是将十六进制整数列表转换为新的 .txt 文件。我已尝试对此进行大量研究,因此请提供帮助。

到目前为止,这是我为达到这一点所做的代码:

my_file = open(r'C:\Users\KAPS\Downloads\List of Numbers File.txt', 
encoding='utf-8-sig')

content = my_file.read()

print(content)

content_list = content.split(",")

my_file.close()

print(content_list)

for i in range(0, len(content_list)):
    content_list[i] = int(content_list[i])

print(str(content_list))

hex_list = [hex(int(x)) for x in content_list]
print(hex_list)

这是我希望我的结果在最后的样子:

因为我没有足够的声望,图片的链接在下面。请点击那个。我的结果和这张图片之间的唯一区别是我希望我的结果最后打开一个名为 Hexadecimal Values 的 new .txt 文件,而不是名为 List of Numbers 的 OG 文件。

图片链接:https://i.stack.imgur.com/FZKQk.jpg

【问题讨论】:

  • 您想将十六进制值作为字符串写入文件还是整数值?
  • 如果可能的话,我试图让它们成为用逗号分隔的整数值。

标签: python file hex


【解决方案1】:

如果您想在文件中包含十六进制字符串,您可以执行以下操作:

hex_list = ['0x1', '0x2', '0x1e4b1', '0x5b', '0x80', '0x52', '0x111', '0x6b0d', '0x4e', '0x34a', '0x2067', '0x6ef3', '0x1cf', '0x1b']
with open(r'C:\Users\KAPS\Downloads\output_numbers.txt', 'w') as my_file:
    my_file.write(', '.join(hex_list))

代码执行以下操作:

  1. 在写入模式下打开一个名为“output_numbers”的新文件 - 关键字“with..as”用于在写入后自动关闭文件(称为上下文管理器)。
  2. 将列表 hex_list 的元素作为逗号分隔值写入文件。这是通过使用字符串操作join 完成的。由于列表是可迭代的,并且列表仅包含字符串元素,因此这是可行的。

【讨论】:

  • 但是如果我想将十六进制值保留为整数并创建一个新文件,我可以在其中放置所有这些十六进制值?你能帮我解决这个问题吗?谢谢!
  • 我没有得到您想要写入结果文件的内容。请显示一个结果文件 sn -p 示例。
  • 我要做的是获取十六进制值列表,然后打开一个新文件,我可以将所有十六进制值放入其中。这更容易理解吗?我将编辑我的问题以显示我想要的结果。
  • 我已经修改了我的帖子,如果现在还不清楚,请告诉我。
  • 成功了。我真的很感谢你的帮助。谢谢!
猜你喜欢
  • 2010-10-16
  • 2014-04-16
  • 2016-12-04
  • 1970-01-01
  • 2013-02-04
  • 2015-04-04
相关资源
最近更新 更多