簡體   English   中英

在shell腳本中運行python腳本:文件不保存

[英]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)

file功能的文檔指出:

打開文件時,最好使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM