在 Python 3.9 中尝试新的“Ruby 模式”,但无法正常工作:
中的简单脚本mymodule
:
puts "Hello World"
以 ruby 模式(“rb”)执行文件时的预期输出是打印在标准输出上的“Hello World”,但我收到一个错误:
>>> with open("mymodule", mode="rb") as f:
... for line in f:
... exec(line)
...
Traceback (most recent call last):
File "<string>", line 1
puts "Hello World"
^
SyntaxError: invalid syntax
看起来这些行被正确解析为rb"ruby style lines"
,所以它显然没有open
错:
>>> line.strip() == rb'puts "Hello World"'
True
这里有什么问题?那一定是一个错误exec
,对吧?