使用LabVIEW Python Node進行讀寫檔案時遇到 Error 1671

更新 May 31, 2023

產品資訊

軟體

  • LabVIEW

其他

Python

問題敘述

我的軟體環境為: LabVIEW 2019 SP1 64-bit 和 Python 3.6.7 64-bit。

當我嘗試使用Python腳本進行讀寫檔案動作時,例如:
def file():

    f=open("filename.txt",'w')
    f.write('hi')
    f.write('hi2')
    f.close()

    f=open("d:filename.txt",'r')
    a=f.read()
    f.close()
    return a

我在LabVIEW中收到1671錯誤碼:

Python Node in LV64 - Python.vi<APPEND>

Module Path: D:\..\Data\MyPython\LV2019_Classes\
Files.y
Function Name: file
Python returned the following error: <class 'PermissionError'>
[Errno 13] Permisission denied: 'filename.txt'

解決方案

這是因為透過LabVIEW Python Node 調用的Python腳本無法處理相對路徑。
所以不要使用相對路徑,請更改為完整的絕對路徑。
以下範例可正常進行讀寫檔案操作:
def file():

    f=open("d:\\filename.txt",'w')
    f.write('hi')
    f.write('hi2')
    f.close()

    f=open("d:\\filename.txt",'r')
    a=f.read()
    f.close()
    return a