python读取matlab文件_python写文件vs matlab写文件,由另一个s读取
我在python中打開/關閉文件時遇到了一個奇怪的問題。我正在嘗試在python中做同樣的事情,就像我在matlab中成功地做的那樣,我在通過文本文件與一些軟件通信時遇到了一個問題。為什么我不去解決這個奇怪的問題。在
我有一個可以和實驗室設備通訊的軟件。為了與這個軟件通信,我寫了一個文件('波形文件.txt')到特定文件夾,其中包含要發送到設備的參數。然后我寫另一個名為'請求文件'包含第一個文件的位置('波形文件.txt包含要發送到設備的參數。軟件會不斷檢查這個文件夾以找到名為'請求文件'并且一旦找到它,它將讀取文件中由中的文本指定的參數'請求文件'然后刪除'請求文件'. 軟件/設備開發人員指示在關閉'請求文件'文件。在
運行的原始matlab代碼:home = cd;
cd \\CREOL-FAST-01\data
fileID = fopen('request.txt', 'wt');
proj = 'C:\\dazzler\\data\\wavefile.txt';
fprintf(fileID, proj);
pause(0.05);
fclose('all');
cd(home);
無法工作的原始python代碼:
^{pr2}$
每次設備程序讀取'請求文件'當它與matlab一起工作時,它會在matlab關閉它之后立即刪除它。當我用python運行這些代碼時,它有時會起作用,也許每5次嘗試就有1次成功,并發送參數。的請求文件'文件總是用上面的python代碼刪除,但是我輸入的參數顯然沒有發送到我的實驗室設備。我猜想,當我在Python中寫入文件時,設備程序能夠在Python將文本寫入它之前讀取它,因此它只打開空白文件,不應用任何參數,然后刪除它。在
我在python中的解決方法:home = os.getcwd()
os.chdir(r'\\CREOL-FAST-01\data')
fileh = open('request.txt', 'w+')
proj = r'C:\dazzler\data\wavefile.txt'
fileh.write(proj)
time.sleep(0.05)
print(fileh.read())
time.sleep(0.05)
fileh.close()
python中的這個方法似乎100%都能工作。我在w+模式下打開文件,并使用文件名.read()是絕對必要的。如果我刪除了那一行,并且仍然包括額外的睡眠時間,它將再次工作約1/5的嘗試。我覺得這很奇怪。有什么解釋,或者更好的解決方案嗎?在
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python读取matlab文件_python写文件vs matlab写文件,由另一个s读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: null未定义_JS 里的数据类型 -
- 下一篇: websocket python爬虫_p