当用户在控制台中运行脚本时,我需要隐藏密码(如下所示:
mysql -p).

对于输入参数我使用argparse,如何将getpass添加到密码参数?

parser = argparse.ArgumentParser()
parser.add_argument('-p',action='store',dest='password',type=getpass.getpass())

当我运行我的脚本时:python script.py -u User -p
我输入单独的输入密码行(密码:)但输入加密后异常:ValueError:’my_password’不可调用

解决方法

这家伙应该解决你的问题:
getpass

以下是自定义操作的示例

class PwdAction(argparse.Action):

     def __call__(self,parser,namespace,values,option_string=None):
         mypass = getpass.getpass()
         setattr(namespace,self.dest,mypass)

parser = argparse.ArgumentParser()
parser.add_argument('-f',action=PwdAction,nargs=0)

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。