2014-04-29 413 views
1

我想更改我的臨時文件的名稱。 我知道os.tmpname()返回一個臨時名稱,我想知道是否有方法可以將其更改爲我想要的。我可以在lua中更改os.tmpname()嗎?

+2

如果你不想使用'os.tmpname'本身,但是你不能改變'os.tmpname'的作用,你可以寫任何你想要的臨時文件函數。如果你願意,你可以使用你的'os.tmpname'函數覆蓋默認的'os.tmpname'函數。 –

+0

儘管不推薦使用[*猴子補丁*](http://en.wikipedia.org/wiki/Monkey_patch)(通過重寫來改變核心功能)**。 – Kamiccolo

回答

2

如果你能修補Lua,那麼只需編輯"/tmp/lua_XXXXXX"lua_tmpnam,loslib.c。這將適用於任何POSIX系統,因爲它依賴於mkstemp。您仍然只能看到六個尾隨'X'的文件名。

0

如果您可以使用庫,請改爲使用luaposixmkstempmkdtemp以一種模式作爲他們的論點。

相關問題