【问题标题】:Can I change os.tmpname() in lua?我可以在 lua 中更改 os.tmpname() 吗?
【发布时间】:2014-04-29 12:20:52
【问题描述】:

我想更改我的临时文件的名称。 我知道 os.tmpname() 返回一个临时名称,我想知道是否有办法将其更改为我想要的。

【问题讨论】:

  • 如果你不想使用os.tmpname 本身,你可以编写任何你想要的临时文件函数,但你不能改变os.tmpname 所做的事情。您可以根据需要使用 os.tmpname 函数覆盖默认的 os.tmpname 函数。
  • 尽管monkey patching(通过覆盖更改核心功能)不推荐这种做法。

标签: file lua filenames tmp


【解决方案1】:

如果你可以修补 Lua,那么只需在 lua_tmpnamloslib.c 中编辑模式 "/tmp/lua_XXXXXX"。这将适用于任何 POSIX 系统,因为它依赖于mkstemp。您仍将被限制为看起来像文件名的模板,其中包含六个结尾 'X'

【讨论】:

    【解决方案2】:

    如果您可以使用库,请改用luaposixmkstempmkdtemp 将模式作为参数。

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2018-01-20
      • 2016-03-10
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      相关资源
      最近更新 更多