gpt4 book ai didi

python - Lua 作为通用脚本语言?

转载 作者:IT老高 更新时间:2023-10-28 21:48:12 26 4
gpt4 key购买 nike

当我看到 Lua 时,我唯一读过的就是“非常适合嵌入”、“快速”、“轻量级”,而且比其他任何东西都更常见:“魔兽世界”或简称“魔兽世界”。

为什么仅限于将整个内容嵌入到另一个应用程序中?为什么不像使用 Python 或 Perl 那样编写通用脚本?

Lua 似乎在速度和内存使用(最快的脚本语言 afaik)等方面做得很好,那么为什么我从来没有看到 Lua 被用作“桌面脚本语言”来自动执行任务?例如:

  • 重命名一堆文件
  • 从网上下载一些文件
  • 网页抓取

是缺少标准库吗?

最佳答案

Lua 是一门很酷的语言,轻量级且速度极快!

但重点是:性能对那些人来说如此重要吗?你提到的任务?

  • 重命名一堆文件
  • 从网上下载一些文件
  • 网页抓取

你编写这些程序一次,运行一次,也可能。为什么您如此关心一次性程序的性能?

例如:

  1. 编写一个 C/C++ 程序需要 3 小时,处理一次数据,程序运行需要 1 小时。
  2. 编写一个 Python 程序处理一次数据需要 30 分钟,程序运行需要 10 个小时。

如果您选择第一个,您可以节省运行程序的时间,但是您需要花费时间来开发程序。

另一方面,如果你选择第二个,你会浪费时间跑程序,但是当程序运行时你可以做其他事情运行。 玩魔兽世界,杀怪怎么样和你的术士?吃掉我的 D.O.T! :P

就是这样!虽然 Lua 写起来并不难,但 Lua 的一切设计都是为了高效。而且 Lua 的模块很少,但 Python 的模块却很多。你不想为 Lua 移植一个 C 库只是为了一个运行一次的程序,对吗?相反,选择 Python 并使用这些模块轻松完成您的任务可能是一个更好的主意。

仅供引用:实际上,我曾尝试使用 Lua 进行网页抓取,但最后,我意识到我不必太在意语言表现。 网页抓取的瓶颈是而不是语言的表现。瓶颈在网络 I/O、HTML 解析和多任务处理。我要做的就是是确保程序正常工作并找到瓶颈。最后,我选择了 Python 而不是 Lua。有这样的许多优秀的 Python 模块;我没有理由建立我的拥有。

根据我对网页抓取的经验,我选择了Twisted 用于网络 I/O 和 lxml 用于 html 解析作为后端我的网页抓取程序。我写了一篇文章介绍这项技术。

The best choice to grab data from websites: Python + Twisted + lxml

希望这有帮助。

关于python - Lua 作为通用脚本语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com