如果你問如何啓動你的python腳本並讓它開始在不同的位置執行,那麼你將不得不啓動腳本wi提供一些關於你想要做什麼的信息。最常見的方法是添加對命令行參數的支持。
import sys
if __name__ == '__main__':
for arg in sys.argv:
print arg
如果你要通過自身在命令行中它不會做任何事情,執行上面的腳本,但如果你有一些額外的參數,如
./launch.py my_argument another_argument and_so_on
您將看到腳本啓動它可以通過sys.argv列表訪問額外的啓動參數。使用它,您可以檢查啓動時是否傳遞了任何參數,然後在您想要的位置開始執行腳本。用你的腳本
一個例子可以如下
import sys
class Name:
def __init__(self):
self.name = 'John'
self.address = 'Place'
self.age = '100'
def printName(self):
print self.name
def printAddress(self):
print self.address
def printAge(self):
print self.age
if __name__ == '__main__':
Person = Name()
launchOptions = sys.argv[1:]
if not launchOptions or 'name' in launchOptions:
Person.printName()
if not launchOptions or 'address' in launchOptions:
Person.printAddress()
if not launchOptions or 'age' in launchOptions:
Person.printAge()
範圍在sys.argv中[1:]是因爲在sys.argv中的第一項將是路徑啓動腳本。
所以,你可以啓動這個例子,得到下面的結果
./launch
John
Place
100
./launch age
100
./launch address
Place
./launch name
John
現在,這只是一個非常簡單的例子。如果您決定進一步朝這個方向發展,您可以閱讀pythons getopt module。它是命令行選項的解析器。
希望我能正確理解這個問題。
我不太瞭解這個問題。你想遞歸運行腳本? – extraneon 2010-05-18 09:33:53