研究是在底部,閱讀之前-1'ing ...謝謝。編寫一個Python腳本來執行一個控制檯命令
我必須編寫一個運行SQL查詢的Python腳本。我做了一個主類並調用了SQLQuery。每個SQLQuery實例代表一個查詢。該腳本的結構必須是這樣的:
class SQLQuery(object):
def __init___(self, string_myQuery)...
instance1 = SQLQuery(SQLQuery1)...
instance2 = SQLQuery(SQLQuery2)...
隨着用戶需求的情況下,必須是在同一個文件類(所以我不能只是讓每個實例爲主,並分別執行該文件),並且每個實例必須使用Linux控制檯命令執行。我可以用一個簡單的python SQLQuery.py執行整個腳本,但我需要分別執行每個實例。查詢將每天自動執行,所以我不需要終端UI樹。應該用類似下面的命令執行:
python SQLQuery.py -inst1
將執行instance1。
python SQLQuery.py -inst2
將執行instance2。
我研究過如何用Linux命令執行Python腳本,大部分文章都是關於從Python腳本調用命令的。但是,我從Python文檔中找到了this article。它建議加入-m,所以:
python SQLQuery.py -m inst1
這將讓我把我的主用控制檯命令,但它不工作,因爲實例不是模塊。由於實例必須與類相同,因此當我使用console命令執行SQLQuery.py時,我不能將它們作爲模塊導入。
爲什麼不只是傳遞一個命令行參數給腳本,告訴腳本運行哪個實例? – martineau
你提出的結構是沒有意義的。 'SQLQuery'本身就是一個基類,並且將自己當作一個'__init__'參數?此外,什麼是'MainClass'和'SQLQuery1'? – abarnert
此外,該文件在哪裏建議添加'-m'?它描述了'-m'如何作爲'python'本身的參數,它的意思是按名稱查找和執行一個模塊;這並不意味着什麼'-m'應該作爲腳本的參數。 – abarnert