我正在使用Ruby中的系統命令轉換XLS 2 CSV文件。如何等待系統命令結束
轉換後,我正在處理CSV文件,但當程序想要處理文件時轉換仍在運行,所以當時它們不存在。
有人能告訴我是否可以讓Ruby等待系統命令完成的正確時間?
現在我使用:
sleep 20
,但如果它會需要更長的時間一次,這是不對的,當然。
我要做的具體是這樣的:
#Call on the program to convert xls
command = "C:/Development/Tools/xls2csv/xls2csv.exe C:/TDLINK/file1.xls"
system(command)
do_stuff
def do_stuff
#This is where i use file1.csv, however, it isn't here yet
end
請向我們展示一個您當前的代碼或解釋功能的例子。據我所知,系統調用不僅僅是「卸載」的,所以我認爲你正在卸載它。 – 2010-05-26 06:17:06
系統命令是否返回成功?將系統的返回值分配給一個變量,然後檢查其內容。系統命令應該同步運行。 – 2010-05-26 09:53:56
當我將系統(命令)分配給一個變量時,它立即返回true。所以這不是一個選項 – Ignace 2010-05-26 11:39:11