我想弄清楚如何提示input密码,并让用户input回显为星号( ******** ) 所以最近,我接手了创build一个远程服务器的项目,该服务器可以使用Python中的套接字模块进行连接。 它还没有完成,因为我正在使控制台用于连接到服务器的过程。 我正在尝试做一个login窗口提示用户input他们的用户名和密码,虽然当input密码,我正在寻找星号打印,如普通密码input(即 – Sekr3t echo'd为:* * * * * *)。 经过几天的研究,我差不多完成了,但还有一个最后的错误让我疯狂(我完全无法解决它)。 注 – 我知道有一个getpass模块可以用来取代这个,更容易,但没有echo'd不是我正在寻找。 这里是我到目前为止的密码login代码,我不明白为什么它不回显星号: import msvcrt import sys def login(prompt = '> '): write = sys.stdout.write for x in prompt: msvcrt.putch(x) passw = "" while 1: x = msvcrt.getch() if x == '\r' or x == '\n': break if x […]
你们中的一些人可能认为这是欧拉的问题编号为11的问题。 我试图在一个大的multidimensional array复制网格,但它给了我一个语法错误,我不知道为什么 grid = [ [ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 08 ], [ 49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00 ], [ 81, 49, 31, 73, […]
我已经读过,python中的所有东西都是一个对象,因此我开始尝试不同的types,并在其上调用__str__ – 起初我感觉非常兴奋,但后来我感到困惑。 >>> "hello world".__str__() 'hello world' >>> [].__str__() '[]' >>> 3.14.__str__() '3.14' >>> 3..__str__() '3.0' >>> 123.__str__() File "<stdin>", line 1 123.__str__() ^ SyntaxError: invalid syntax 为什么something .__str__()除了int之外还有其他所有的东西? 123不是inttypes的对象吗?
我发现这篇文章: Python:在数组中find一个元素 它是通过匹配值来返回一个数组的索引。 另一方面,我所做的是相似但不同的。 我想find目标值的最接近的值。 例如我正在寻找4.2,但我知道在数组中没有4.2,但我想要返回值4.1的索引而不是4.4。 什么是最快的方式呢? 我正在考虑像以前那样用Matlab来做这个事情,它使用数组A,我想从索引中减去目标值,然后取绝对值,然后select最小值。 像这样的东西: – [~,idx] = min(abs(A – target)) 这是Matlab的代码,但我是Python的新手,所以我想,是否有一种快速的方式在Python? 非常感谢你的帮助!
TL; 博士:有没有办法来覆盖reverse的默认行为? 在我的django项目中,我有很多诸如 url(r'^\w+/company/', include("company.urls", namespace="company")), 它允许诸如 …/companyA/company/ …/companyB/company/ 这样我就可以使用一个自定义中间件来修改请求,以包含一些基于公司正在使用我的网站的具体细节 这一切工作正常,除了当Django试图破译完整的path与reverse和{% url .. %} … 它似乎正在返回/x/company/作为正则expression式的默认匹配。 因为django.utils.regex_helper方法的next_char有一个\w映射到x的转义映射 我已经能够覆盖 url标记来replace/x/的正确的公司名称,我想知道是否有类似的事情我可以做,以同样的方式覆盖reverse ,或者我可以做的任何其他事情来解决这个问题? 以前,我在用 url(r'^(?P<company_name>\w+)/company/', include("company.urls", namespace="company")) 但这意味着我必须在每个视图中包含一个参数 def view(request, company_name): … 以及将其包括在我所有的其他调用视图(即与{% url %} ),我试图避免。
如果一个函数需要n个参数,并且还有另一个函数返回一个包含n个项目的序列(或者我有一个包含n个项目的序列),那么有没有办法“映射”这两个函数第一个函数以n个项目序列作为input和返回结果)我不想(也许不能在某些场合)自己编辑函数并更改它的参数参数和返回值types。 即) def func1(x, y, z): return x+y+z def func2(w): return [i for i in range(w,w+3)] 不能func1(func2( … ))在这种情况下。
下面的Python代码即时通讯有问题: for i in range (0,10): if i==5: i+=3 print i 我预计输出是: 0 1 2 3 4 8 9 然而翻译吐出: 0 1 2 3 4 8 6 7 8 9 我知道一个for循环为C中的variables创build一个新的范围,但不知道python。 任何人都可以解释为什么i的值没有改变在for循环python和最新的补救措施,以获得预期的输出。
检查string是否与特定模式匹配的最快方法是什么? 是正则expression式的最佳方式? 例如,我有一堆string,并希望检查每一个,看看他们是否是一个有效的IP地址(在这种情况下有效的意思是正确的格式),是使用正则expression式做到这一点的最快方法? 或者有像string格式化或更快的东西。 像这样的事情到目前为止我一直在做: for st in strs: if re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', st) != None: print 'IP!'
给定一套 {a,b,c,d} 什么是生产的好方法 {a,b,c,d,ab,ac,ad,bc,bd,cd,abc,abd,bcd,abcd} ?
我能够超载的printfunction,并从内部调用正常的function? 我想要做的是在我想要print的特定行后打电话给我的print ,这将print正常的print和复制到文件。 另外我不知道如何超载print 。 我不知道如何做可变长度的参数。 我会尽快查找它,但重载打印python只是告诉我,我不能超载在2.x这是我正在使用的print 。