我有一個遠程執行的python腳本。該代碼的最後一段應該在腳本的目錄(遠程)中創建一個輸出文件以供進一步報告。創建.csv文件的遠程python腳本(權限被拒絕)
腳本正在通過SSH執行:
ssh -c blowfish remoteAddr python -u pythonScript.py $1 $2 $3
這允許傳遞到腳本(我使用bash)的參數,成爲輸入到python腳本。
在遠程的結束,我試圖創建一個輸出文件(.csv)已被證明無用:
csvFile = open('results.csv','w')
csvFile.write(someResults)
csvFile.close()
返回IO錯誤(錯誤13):權限被拒絕 'results.csv'。這個錯誤標誌着我的開放是罪魁禍首。
執行上正在執行蟒目錄的ls -l
,我得到:
-rwxr-xr-x 1 jmschen operations 5003 <dateTimeStamp> pythonScript.py
這讓我覺得,我應該有訪問沒有問題。另外,我曾嘗試以下:
os.chmod(<WherePythonScriptLives>,0777)
csvFile = open("results.csv","w")
csvFile.write(someResults)
csvFile.close()
這也產生了同樣的錯誤。
本地運行此代碼(在sshing到終端後)給出相同的IOError;然而,我在目錄(test.py)創建了一個python腳本
import os
f = open("results.csv","w")
f.write("Blah Blah Blah")
f.close()
的作品就好了。這讓我認爲我們正在遠程執行python的事實可能是問題嗎?
要求:在Unix
- 的Python 2.4.3(無法升級)
- 沒有外部模塊/包(不,我認爲我們需要他們爲這個)
燦不要更改由於ssh調用可能是罪魁禍首,因此刪除了此要求。ssh -c blowfish remoteAddr python -u pythonScript.py $1 $2 $3
調用
您確定您有寫入權限嗎? – mfrankli
是的,我可以觸摸文件,編輯文件,並且我創建了一個單獨的python程序來測試文件I/O(使用open()讀/寫)。沒有任何問題。 – Jon