lua指令碼 訊息輸出到TXT檔案中

2021-09-08 12:17:41 字數 1550 閱讀 6233

做**場景,要求把列印出的資料傳到txt檔案中,以實現簡單的分析功能:

1.首先想到了幾個api

simaddstatusbarmessage 向狀態列新增一條訊息

simauxiliaryconsoleopen 開啟用於文字顯示的輔助控制台視窗

simauxiliaryconsoleprint 列印到輔助控制台視窗

這些api可以在**的過程中,在狀態列新增一條訊息,並且建乙個輔助控制台視窗,實時的顯示資料的變化。

例如下圖:

2.lua 檔案 i/o

下面做示範,輸出乙個字串和乙個隨機數到乙個指定的txt檔案中。下面是執行緒子指令碼部分**:

local function writefile(filename,content)

local f = assert(io.open(filename,'a+'))

f:write(content)

f:close()

enda='simulation'

b=math.random(10)

writefile('d:/users/administrator/desktop/test.txt',os.date("%y-%m-%d %h:%m:%s   "..a..","..b.."\n"))

io.open(filename,'a+'):io庫的open函式,第乙個引數為檔案路徑,第二個引數為開啟方式(詳見下表)

"a+":新增更新模式,所有之前的資料將被儲存,只允許在檔案尾進行新增,追加方式輸出

math.random(10):輸出乙個1到10之間的隨機整數

模式描述

r以唯讀方式開啟檔案,該檔案必須存在。

w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。

a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)

r+以可讀寫方式開啟檔案,該檔案必須存在。

w+開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a+與a類似,但此檔案可讀可寫

b二進位制模式,如果檔案是二進位制檔案,可以加上b

+號表示對檔案既可以讀也可以寫

下面快速**幾次,看看效果:

期間出現的問題:

lua出現錯誤:attempt to index global 'file' (a nil value)     嘗試索引全域性'檔案'(零值)

我這裡的解決方法是將"\"替換為"/"   (根據不同情況進行替換)

d:\users\administrator\desktop\test.txt  換為

d:/users/administrator/desktop/test.txt

資料匯出到TXT檔案

public static void writetxtfile listexportlist,string filepath,string filename catch exception ex if filepath.endswith filepath filepath filename else...

使cout輸出到檔案

方法1 最笨 fstream output 把cout全部替換成output。方法2 利用命名空間自定義乙個cout namespace calendar 函式內 using calendar cout 在當前作用域內的cout實現全部輸出到檔案 方法3 最好 改變cout的輸出物件,使其輸出到檔案...

python輸出到檔案裡

傻乎乎寫了各種print,掛到伺服器上,用screen切視窗,一下子就給刷沒了,所以想著重定向到檔案裡。遇到幾個 坑 這裡當做給自己記錄 1 我想要既能重定向到檔案裡,又能輸出到螢幕上。使用了tee工具,但是沒法反應。原因是 python 中如何乙個 print 語句同時輸出到螢幕且記錄到檔案裡 p...