Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

5
如何仅在Django中分别获取当前日期和当前时间?
使用此类时,我遇到了一个有趣的情况: class Company(models.Model): date = models.DateField() time = models.TimeField() c = Company(date=datetime.datetime.now(), time=datetime.datetime.now()) Django决定使用format.py文件中DATETIME_INPUT_FORMATS定义的内容。这是有道理的,因为我将a传递给两个字段。datetime.now() 如果我只传入当前日期和当前时间,我想可以分别使用DjangoDATE_INPUT_FORMATS和TIME_INPUT_FORMATS。 像这样: c = Company(date=datetime.date.now(), time=datetime.time.now()) 但这显然引发了异常,因为现在不存在这种异常。有没有其他方法可以实现这一目标?

5
Python urllib2基本身份验证问题
更新:基于Lee的评论,我决定将我的代码压缩为一个非常简单的脚本,然后从命令行运行它: import urllib2 import sys username = sys.argv[1] password = sys.argv[2] url = sys.argv[3] print("calling %s with %s:%s\n" % (url, username, password)) passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, url, username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) req = urllib2.Request(url) f = urllib2.urlopen(req) data = f.read() print(data) 不幸的是,它仍然不会生成Authorization标题(每个Wireshark):( 我在通过urllib2发送基本AUTH时遇到问题。我看了这篇文章,并跟随了这个例子。我的代码: passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, "api.foursquare.com", username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) …

2
最新的“ pip”失败,并显示“需要dist-info的setuptools> = 0.8”
使用的最新(1.5)版本pip,尝试更新多个软件包时出现错误。例如,sudo pip install -U pytz由于以下原因导致失败: Wheel installs require setuptools >= 0.8 for dist-info support. pip's wheel support requires setuptools >= 0.8 for dist-info support. 我不明白此消息(我有setuptools2.1)或如何处理。 日志中有关此错误的异常信息: Exception information: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 230, in run finder …

8
图像处理,使用Python?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我最近遇到了至少需要基本图像处理程度的问题,我可以在Python中执行此操作吗?


1
使用numpy的数组的高效阈值过滤器
我需要过滤一个数组以删除低于某个阈值的元素。我当前的代码是这样的: threshold = 5 a = numpy.array(range(10)) # testing data b = numpy.array(filter(lambda x: x >= threshold, a)) 问题在于,这会使用带有lambda函数(慢速)的过滤器来创建一个临时列表。 由于这是一个非常简单的操作,因此也许有一个numpy函数可以高效地完成此操作,但是我一直找不到它。 我以为实现此目的的另一种方法可能是对数组进行排序,找到阈值的索引,然后从该索引开始返回一个切片,但是即使对于较小的输入这会更快(而且无论如何也不会引起注意) ),随着输入大小的增加,它的渐近渐近效率降低。 有任何想法吗?谢谢! 更新:我也进行了一些测量,当输入为100.000.000条目时,sorting + slicing仍比纯python过滤器快两倍。 In [321]: r = numpy.random.uniform(0, 1, 100000000) In [322]: %timeit test1(r) # filter 1 loops, best of 3: 21.3 s per loop In [323]: …

1
不支持Python解码Unicode
我在Python中的编码有问题。我尝试了不同的方法,但似乎找不到找到将输出编码为UTF-8的最佳方法。 这就是我想要做的: result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8") searchGoogle传回的第一个Google结果param。 这是我得到的错误: exceptions.TypeError: decoding Unicode is not supported 有谁知道我该如何使Python用UTF-8编码输出以避免这种错误?


1
生成器作为函数参数
谁能解释为什么将生成器作为唯一的位置参数传递给函数似乎有特殊的规则? 如果我们有: >>> def f(*args): >>> print "Success!" >>> print args 可以正常工作。 >>> f(1, *[2]) Success! (1, 2) 不能正常工作。 >>> f(*[2], 1) File "<stdin>", line 1 SyntaxError: only named arguments may follow *expression 可以正常工作 >>> f(1 for x in [1], *[2]) Success! (generator object <genexpr> at 0x7effe06bdcd0>, 2) 这行得通,但我不明白为什么。它不应该以与2相同的方式失败吗? >>> …

9
如何在Django中不使用模板的情况下返回JSON?
这与此问题有关:Django根据客户端python返回json和html 我有一个适用于Django应用的命令行Python API。当我通过API访问该应用程序时,它应该返回JSON,而在浏览器中它应该返回HTML。我可以使用不同的URL来访问不同的版本,但是如何仅用一个模板在views.py中呈现HTML模板和JSON ? 要呈现HTML,我将使用: return render_to_response('sample/sample.html....') 但是如何在不放置JSON模板的情况下对JSON做同样的事情?(content-type应为application/json而不是text/html) 什么将决定JSON和HTML输出? 所以在我的views.py: if something: return render_to_response('html_template',.....) else: return HttpReponse(jsondata,mimetype='application/json')


7
如何从CMD运行Pip命令
据我了解,Python 2.7.9附带安装了Pip,但是当我尝试从CMD(Windows)执行Pip命令时,出现以下错误: 'pip' is not recognized as an internal or external command, operable program or batch file. 当我键入时python,确实得到以下提示,这表明它已正确安装: Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. 但是我确实需要添加一些环境变量来使python部分在CMD上工作: 添加到环境变量PATH:"C:\Python27\" 定义系统变量PYTHONPATH:"C:\Python27\" 我在Python目录中找不到Pip文件夹,但是在中有一个名为“ ensurepip”的文件夹C:\Python27\Lib\。 有人知道如何获得Pip命令以开始在CMD中工作吗?
81 python  cmd  pip 


9
Python单元测试中的assertAlmostEqual用于浮点数的集合
Python的单元测试框架中的assertAlmostEqual(x,y)方法在假设和为浮点数的情况下测试和近似相等。xy 问题assertAlmostEqual()在于它仅适用于浮点数。我正在寻找一种类似的方法assertAlmostEqual(),可用于浮点数列表,浮点数集,浮点数字典,浮点数元组,浮点数元组列表,浮点数列表集等。 例如,我们x = 0.1234567890,y = 0.1234567891。x和y几乎相等,因为他们对每一个除了最后一个数字一致。因此self.assertAlmostEqual(x, y)是True因为assertAlmostEqual()适用于彩车。 我正在寻找一种更通用的方法assertAlmostEquals(),该方法还可以评估对的以下调用True: self.assertAlmostEqual_generic([x, x, x], [y, y, y])。 self.assertAlmostEqual_generic({1: x, 2: x, 3: x}, {1: y, 2: y, 3: y})。 self.assertAlmostEqual_generic([(x,x)], [(y,y)])。 有这种方法还是我必须自己实现? 说明: assertAlmostEquals()有一个名为的可选参数,places并且通过计算四舍五入到十进制数的差来比较数字places。默认情况下places=7,因此self.assertAlmostEqual(0.5, 0.4)为False,而self.assertAlmostEqual(0.12345678, 0.12345679)为True。我的投机assertAlmostEqual_generic()应该具有相同的功能。 如果两个列表具有完全相同的顺序几乎相等的数字,则认为它们几乎相等。正式地,for i in range(n): self.assertAlmostEqual(list1[i], list2[i])。 同样,如果两个集合可以转换为几乎相等的列表(通过为每个集合分配顺序),则认为它们几乎相等。 类似地,如果每个字典的键集几乎等于另一个字典的键集,则两个字典被认为几乎相等,并且对于每个这样的几乎相等的键对,都有一个相应的几乎相等的值。 总的来说:我认为两个集合如果相等就几乎相等,除了一些对应的float彼此几乎相等。换句话说,我真的想比较对象,但是在沿途比较浮点时精度(自定义)较低。

3
PyCharm和PYTHONPATH
我是PyCharm的新手。我有一个用于PYTHONPATH的目录:c:\test\my\scripts\。在此目录中,我导入了一些模块。它在我的Python Shell中工作正常。 如何将此目录路径添加到PyCharm,以便可以导入该目录中的内容?
81 python  pycharm 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.