TextMate 在 python 中不执行 encode() 函数

TextMate doesn't perform encode() function in python

朋友们。

我在TextMate中处理一个问题,我用它来正常编写代码。
对于我的哈希映射脚本,我需要将字符串编码为字节。
举个例子,如果我写:

password = "orange"
bytes_list = list(password.encode())
print(bytes_list)

预期的输出是 [111, 114, 97, 110, 103, 101] 如果我 运行 来自 Python 的 IDLE 的脚本,即使我在我的 shell 中编写相同的代码,我也会得到.

但是如果我 运行 TextMate 中的代码,结果会产生 ['o', 'r', 'a', 'n', 'g', 'e'],所以很明显,TextMate 中的 encode() 函数是没有按预期工作。
有趣的是,如果我执行从 TextMate 到 shell 的代码,它也不起作用。

在 TextMate 的首选项中,编码设置为 Unicode - UTF-8 并安装了 Unicode 包。
我无法通过 Google 找到该主题的任何答案。也许你们中的一些人过去遇到过这样的问题。

感谢您的帮助。

您的 TextMate 使用 Python 2.7:

$ python
Python 2.7.16 (default, Dec  3 2019, 07:02:07) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
['o', 'r', 'a', 'n', 'g', 'e']
>>>

Python 3 将给出您期望的输出:

$ python3
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
[111, 114, 97, 110, 103, 101]
>>>