[英]Running python script within a shell script: files don't save
我對Shell腳本非常陌生,因此我仍在尋找解決方案。 這是我的問題:
我有一個python .py可執行文件,該文件可創建多個文件並將其保存到目錄中。 我需要在shell腳本中運行該文件。 由於某種原因,shell腳本執行了python腳本,但是我的目錄中沒有新文件出現。 當我只運行.py文件時,一切正常
這是我的shell腳本的樣子:
#!/bin/bash
cd /home/usr/directory
python myfile.py
在我的python腳本中,保存的文件是腌制的對象實例。 因此,每個人看起來都是這樣的:
f = file('/home/usr/anotherdirectory/myfile.p','w')
pickle.dump(myObject,f)
f.close()
這行:
f = file('/home/usr/directory/myfile.p','w')
應該:
f = open('/home/usr/directory/myfile.p','wb+')
為了獲得最佳實踐,應該這樣進行:
with open('/home/usr/directory/myfile.p','wb+') as fs:
pickle.dump(myObject, fs)
打開文件時,最好使用
open()
而不是直接調用此構造函數。
這樣的問題可能就是原因之一。 嘗試改變
f = file('/home/usr/directory/myfile.p','w')
至
f = open('/home/usr/directory/myfile.p','w')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.