我的脚本在执行时从提示符中获取用户名和密码。我能够发送单个字符串作为输入,但是无法根据条件发送多个字符串。有人可以帮助我如何实现这一目标,或者如果有其他替代方法也可以吗?我尝试了以下方法。
import sys
import StringIO
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
print "self.proxy_username is {} ".format(self.proxy_username)
print "self.proxy_password is {} ".format(self.proxy_password)
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
f1 = sys.stdin
f = StringIO.StringIO('admin')
f = StringIO.StringIO('admin123')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
另一种方式
f = StringIO.StringIO('admin','\n','admin123')
sys.stdin=f
另一种方式
f = StringIO.StringIO('admin','admin123')
sys.stdin=f
答案 0 :(得分:0)
sys.stdin = StringIO.StringIO('admin','\n','admin123')
更有可能胜任这项工作。您可以使用stdin.read()代替getpass.getpass()进行尝试。