2016-11-19 66 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