0

我正在编写我的第一个 transcrypt 代码(python 为浏览器转译为 JS——真是个好主意!)我已经被困住了,将这个 JS 代码翻译成 python:

import { saveAs } from 'file-saver';
import inspect from 'browser-util-inspect';

如您所见,这两个第三方模块(位于我的node_modules/目录中,来自 npm)的名称中都有连字符。但这不是合法的蟒蛇说

from node_modules.file-saver import saveAs

(因为 python 模块名称必须是标识符)所以我不确定如何继续。

4

1 回答 1

0

应该可以使用包含 - 的模块名称,使用别名,但它在 TS 3.7.1 中被破坏了它将在下一个次要版本中修复,一个示例将包含在自动测试中。带来不便敬请谅解。

TS 3.7.8已发布,包含对此的修复。

[编辑]

# __pragma__ ('alias', 'specific_module_a', 'specific-module-a')
# __pragma__ ('alias', 'S', '$')
# __pragma__ ('alias', 'test_modules_b', 'test-modules-b')
# __pragma__ ('alias', 'specific_module_b', 'specific-module-b')

from test_modules_a.__specific_module_a import the__S__Function
from test_modules_b__.__specific_module_b import theBFunction as aBFunction

the__S__Variable = 3
print (the__S__Variable)

the__S__Function (print)
aBFunction (print)

请注意,编译指示需要符合原始 Python 语法和 Python 扫描器/解析器,不允许在名称中使用 $ 和 -。

于 2018-10-14T15:09:22.420 回答