2016-11-19 4 views
0

Написал питон скрипт для выполнения ниже после запроса на имя пользователя и парольпитона выполнения удаленного сценария в другом каталоге

./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

Вы можете использовать cd в bash: http://superuser.com/a/271992 – Aaron

Смежные вопросы