我在寫一個Mac OS程序,我有以下行:不能在主目錄使用io.open - Lua的
os.execute("cd ~/testdir")
configfile = io.open("configfile.cfg", "w")
configfile:write("hello")
configfile:close()
的問題是,它僅會在腳本CONFIGFILE當前目錄而不是我剛剛cd到的文件夾。我意識到這是因爲我使用控制檯命令來更改目錄,然後直接使用Lua代碼來編寫文件。爲了解決這個問題,我改變了代碼如下:
configfile = io.open("~/testdir/configfile.cfg", "w")
不過,我得到以下結果:
lua: ifontinst.lua:22: attempt to index global 'configfile' (a nil value)
stack traceback:
ifontinst.lua:22: in main chunk
我的問題是,什麼是使用IO.Open創建在一個文件的正確方法我剛在用戶主目錄中創建的文件夾?
我很欣賞我在這裏犯了一個菜鳥錯誤,所以我很抱歉如果你浪費我的時間。
'os.execute (「cd〜/ testdir」)不能像你期望的那樣工作,因爲改變子進程中的當前目錄不會影響父進程。 – lhf