如何使用Python将几个Javascript文件连接成一个文件

时间:2012-07-25 23:01:24

标签: python file

我想知道如何使用Python将多个Javascript文件连接到一个文件中。

我正在使用Javascript构建基于组件的引擎,我想只使用一个文件来分发它,例如engine.js。

或者,我希望用户获得整个源代码,它具有文件和目录的层次结构,并且在整个源代码中他们应该获得build.py Python脚本,可以对其进行编辑以包含各种系统和其中的组件,基本上是组件/系统/目录中的.js文件。

如何加载列表(路径)中描述的文件并将它们合并到一个文件中?

例如:

toLoad =
[
    "core/base.js",
    "components/Position.js",
    "systems/Rendering.jd"
]

脚本应按顺序连接这些。

此外,这是一个Git项目。有没有办法让脚本从Git读取程序的版本,然后在开头将其写为注释?

3 个答案:

答案 0 :(得分:5)

这会连接你的文件:

def read_entirely(file):
    with open(file, 'r') as handle:
        return handle.read()

result = '\n'.join(read_entirely(file) for file in toLoad)

然后您可以根据需要输出它们,或者使用类似于以下内容的代码编写它们:

with open(file, 'w') as handle:
    handle.write(result)

答案 1 :(得分:1)

这样的事情怎么样?

final_script = ''
for script_name in toLoad:
    with open(script_name, 'r') as f:
        final_script += ('\n' + f.read())
with open('engine.js', 'w') as f:
    f.write(final_script)

答案 2 :(得分:1)

你可以自己做,但这是一个真正的问题,真正的工具正在更复杂地解决。考虑“JavaScript Minification”,例如使用http://developer.yahoo.com/yui/compressor/