2016-11-19 37 views
0

寫Python腳本提示輸入用戶名和密碼後,下面執行蟒蛇在不同的目錄執行遠程腳本

./3rdpartyscript -u username -p password -flag 123 

它工作正常,但「3rdpartyscript」有一堆文件,它依賴於我不想混亂根目錄,所以我把所有東西都移到一個文件夾中。我也無法實際操作腳本,只能運行它。

我不能讓這個正常運行:

./folder/3rdpartyscript -u username -p password -flag 123 
OR 
/folder/3rdpartyscript -u username -p password -flag 123 

我也在考慮這個腳本的結果,並使用它的其他東西。

這裏是我到目前爲止有:

6 def getCreds(): 
    7   global access_key, secret_key, yourName 
    8   access_key = raw_input("Enter User Name: ") 
    9   secret_key = raw_input("Enter Password: ") 
10   infoCorrect = raw_input('Is this information correct? (y or n)') 
11   if infoCorrect.lower() == "yes" or infoCorrect.lower() =="y": 
12     p = subprocess.Popen("./3rdPartyScript -u %s -p %s -flag 123" % (access_key, secret_key), shell=True, stdout = subprocess.PIPE) 
13     output,err = p.communicate() 
14     print(output) 

I'll take the result of "output" and eventually put it against some kinda decision. 

17   else: 
18     print "\n Couldn't connect to please check your credentials \n" 
19 
21 
22 getCreds() 

如何從遠程目錄運行此腳本?

感謝

+0

你的意思是遠程計算機,或在同一臺計算機上只是一個不同的目錄?如果它是在同一臺計算機上的不同的目錄,那麼我會避免稱它爲「遠程」,以避免混淆 – Aaron

回答

1

使用cwd說法:

p = subprocess.Popen("./3rdPartyScript -u %s -p %s -flag 123" % (access_key, secret_key), 
         shell=True, 
         stdout=subprocess.PIPE, 
         cwd=YOUR_DIRECTORY) 
+0

奇妙,只是好奇,如果我不使用python來做到這一點,我在bash中做它是否有「cwd」像我可以使用的國旗? – chowpay

+0

您可以在bash中使用cd:http://superuser.com/a/271992 – Aaron