将 javascript 数组从本地文件导入本地 python 文件

Import javascript array from local file into local python file

我有一个本地 javascript 文件,其数组如下:

file1.js:

export const arr = ['a', 'b', 'c']

我可以将此数组作为 python 列表(或任何其他数据类型)导入到同一台计算机和同一项目中的 python 脚本中吗?理想情况下它看起来像这样:

file2.py:

from ..path.to.javascript.file1.js import arr

但这行不通。如果我将数组导出为 JSON 字符串化对象是否可能?

假设您可以将 JSON 写入文件,您可以像这样在 Python 中读取它:

import json

with open("file.json") as f:
    json_file = json.loads(f)

有两种方法可以做到这一点:

  1. 将您的 .js 文件转换为 .json 并将数组更改为正确的 json 格式,如下所示:

    {"arr": ["a", "b", "c"]}

    json 格式需要双引号。 (此外,最好将数组嵌入 json 对象中以避免 ,尽管可以将数组作为 json 顶级。)然后使用内置 json 模块读取 json.

  2. 将 .js 文件作为字符串读取,并使用 ast.literal_eval 提取列表。这会将字符串安全地转换为列表。

第一种方法:

import json

with open("file1.js") as f:
    li = json.load(f)['arr']   #note that you use load(), not loads() to read from file

第二种方法:

import ast

with open(file1.js') as dataFile:
    data = dataFile.read()
    str = data[data.find('[') : data.rfind(']')+1]
    li = ast.literal_eval(str)