如何隐藏输入到raw_input的用户输入

时间:2018-03-18 17:29:21

标签: python python-2.7 input

我正在创建一个程序,它通过raw_input获取用户输入并将其放入代码中的文本文件中(例如a = 2,c = 6)。我希望能够在用户输入之前隐藏用户输入的内容(然后显示编码文本)

以下是代码:

#!/usr/bin/python
npt = raw_input (("26 Char Cyper Sentence: ").lower())
L = list(npt)
r = raw_input ('{name of file}: ')
txt='.txt'
me=r+txt
folder = open(me, 'a')
while True:
 a = L[0];b = L[1];c = L[2];d = L[3];e = L[4];f = L[5];g = L[6];h = L[7];
 i = L[8];j = L[9];k = L[10];l = L[11];m = L[12];n = L[13];o = L[14];p = L[15];
 q = L[16];r = L[17];s = L[18];t = L[19];u = L[20];v = L[21];w = L[22];x = L[23];y = L[24];z = L[25]
 txtt = raw_input (('{\n').lower())
 txt = txtt.lower ()
 new1 = txt.replace ('a', a)
 new2 = new1.replace ('b', b)
 new3 = new2.replace ('c', c)
 new4 = new3.replace ('d', d)
 new5 = new4.replace ('e', e)
 new6 = new5.replace ('f', f)
 new7 = new6.replace ('g', g)
 new8 = new7.replace ('h', h)
 new9 = new8.replace ('i', i)
 new10 = new9.replace ('j', j)
 new11 = new10.replace ('k', k)
 new12 = new11.replace ('l', l)
 new13 = new12.replace ('m', m)
 new14 = new13.replace ('n', n)
 new15 = new14.replace ('o', o)
 new16 = new15.replace ('p', p)
 new17 = new16.replace ('q', q)
 new18 = new17.replace ('r', r)
 new19 = new18.replace ('s', s)
 new20 = new19.replace ('t', t)
 new21 = new20.replace ('u', u)
 new22 = new21.replace ('v', v)
 new23 = new22.replace ('w', w)
 new24 = new23.replace ('x', x)
 new25 = new24.replace ('y', y)
 new26 = new25.replace ('z', z)
 print (new26.lower ())
 folder.write ((new26).lower ())

我在Windows 10上使用Python 2.7并且已经尝试了“getpass”#39;模块和' curses'模块(我无法工作:()。不幸的是,我不能告诉你我是如何使用这些的,因为我废弃了我在其中制作的副本,但随时告诉我如何(正确)使用上面代码中的这些模块。我能做什么?而且,如果我只是改变了输入字体的颜色......它会起作用吗?

1 个答案:

答案 0 :(得分:0)

请使用getpass python模块隐藏用户的输入。

最小的工作示例是:

import getpass
secret_word = getpass.getpass(prompt="Enter your secret word: ")
print(secret_word)

secret_word是您要在终端中隐藏的字词。

<强>更新

在您的情况下,该行将是:

txtt = getpass.getpass (('{\n').lower())