Chr*_*ris 3 c python windows pydev
我正在尝试遵循 Gray Hat Python 示例之一,它在 Python 2.7 中运行良好,但在 Python 3.5 中结果被截断。
from ctypes import *
msvcrt = cdll.msvcrt
message_string = "Hello World!\n"
msvcrt.printf("Testing: %s\n", message_string)
Run Code Online (Sandbox Code Playgroud)
您可以看到上面代码的输出下面只是字母T。
基于与此类似的其他一些帖子,b在最后一行添加 a 有帮助,但随后message_string被截断。
from ctypes import *
msvcrt = cdll.msvcrt
message_string = "Hello World!\n"
msvcrt.printf(b"Testing: %s\n", message_string)
Run Code Online (Sandbox Code Playgroud)
如何message_string在 Windows 7 或 10 上使用 Python 3.5打印存储在变量中的整个字符串?
得到它的工作!也需要b在变量声明中添加。这么小的细节也......请参阅下面的调整代码:
from ctypes import *
msvcrt = CDLL('msvcrt')
message_string = b"Hello World!\n"
msvcrt.printf(b"Testing: %s\n", message_string)
Run Code Online (Sandbox Code Playgroud)
在 Windows 7 64 位(带 Python 3.5)和 Windows 10 64 位(带 Python 3.4)上测试
灰帽 Python - Chapter1-printf.py - 示例