使用Python从文件中读取JavaScript变量

使用Python从文件中读取JavaScript变量,javascript,python,Javascript,Python,我在服务器端使用一些Python脚本将JavaScript文件编译成一个文件,并将有关这些文件的信息添加到数据库中。 为了添加关于脚本的信息,我现在为每个js文件添加了yaml文件,其中包含一些如下所示的信息: title: Script title alias: script_alias var title = "Script title"; var alias = "script_alias"; 如果我可以直接从JavaScript中读取这些变量,我想扔掉yaml,它在我看来是多余的,我

我在服务器端使用一些Python脚本将JavaScript文件编译成一个文件,并将有关这些文件的信息添加到数据库中。 为了添加关于脚本的信息,我现在为每个js文件添加了yaml文件,其中包含一些如下所示的信息:

title: Script title
alias: script_alias
var title = "Script title";
var alias = "script_alias";
如果我可以直接从JavaScript中读取这些变量,我想扔掉yaml,它在我看来是多余的,我可以将这些变量放在文件的最开头,如下所示:

title: Script title
alias: script_alias
var title = "Script title";
var alias = "script_alias";

可以用Python轻松读取这些变量吗?

您是否尝试过将变量存储为JSON格式?然后,javascript和python都可以轻松解析数据并获取变量。

假设您只需要这两行,并且它们位于文件的顶部

import re

js = open("yourfile.js", "r").readlines()[:2]

matcher_rex = re.compile(r'^var\s+(?P<varname>\w+)\s+=\s+"(?P<varvalue>[\w\s]+)";?$')
for line in js:
    matches = matcher_rex.match(line)
    if matches:
        name, value = matches.groups()
        print name, value
重新导入
js=open(“yourfile.js”,“r”).readlines()[:2]
matcher\u rex=re.compile(r'^var\s+(?P\w+)\s+=\s+“(?P[\w\s]+)”;?$”)
对于js中的行:
匹配=匹配器_rex.match(行)
如果匹配:
名称,值=matches.groups()
打印名称、值

您使用
[a-zA-Z0-9\
而不是
\w
有什么原因吗?