我正在编写我的第一个转密码(将Python转换为浏览器的JS,这是个好主意!),我已经陷入困境,将JS代码翻译成python:
import { saveAs } from 'file-saver';
import inspect from 'browser-util-inspect';
如您所见,这两个第三方模块(都在我的node_modules/
目录中,来自npm)的名称中都带有连字符。但这不是合法的python
from node_modules.file-saver import saveAs
(因为python模块名称必须是标识符),所以我不确定如何继续。
答案 0 :(得分: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)
请注意,需要使用pragma来符合原始的Python语法和Python扫描器/解析器,但名称中不允许使用$和-。