Tag: python

尝试/抓住或validation速度?

我正在使用Python,每当我必须validation函数input时,我认为input工作,然后发现错误。 在我的情况下,我有一个通用的Vector()类,我用了几个不同的东西,其中之一是增加。 它既作为Color()类也作为Vector() ,所以当我向Color()添加标量时,应该将该常量添加到每个单独的组件中。 Vector()和Vector()添加需要按组件方式添加。 这个代码被用于光线跟踪器,所以任何速度提升都很好。 这是我的Vector()类的简化版本: class Vector: def __init__(self, x, y, z): self.x = x self.y = y self.z = z def __add__(self, other): try: return Vector(self.x + other.x, self.y + other.y, self.z + other.z) except AttributeError: return Vector(self.x + other, self.y + other, self.z + other) 我目前正在使用try…except方法。 有人知道更快的方法吗? 编辑:感谢您的答案,我尝试和testing下面的解决scheme,在添加Vector()对象之前专门检查类名称: class Vector: def […]

如何设置raw_input的默认string?

我正在使用python2.7的raw_input从标准input读取。 我想让用户更改给定的默认string。 码: i = raw_input("Please enter name:") 安慰: Please enter name: Jack 用户应该被提供Jack但可以改变(退格)到别的东西。 Please enter name:参数将是raw_input的提示,该部分不应该由用户更改。

如何使用python selenium webdriver保存和加载cookie

我怎样才能保存所有的Cookie在Python的seleniumwebdriver到一个TXT文件,然后加载它们? 文档没有提到关于getCookies函数的很多内容。

是否有可能在Python中创build匿名对象?

我正在debugging一些Python,它将input一个对象列表,每个对象都有一些属性。 我想硬编码一些testing值 – 比方说,其中“foo”属性设置为某个数字的四个对象的列表。 有没有比这更简洁的方式? x1.foo = 1 x2.foo = 2 x3.foo = 3 x4.foo = 4 myfunc([x1, x2, x3, x4]) 理想情况下,我只想说一些像这样的东西: myfunc([<foo=1>, <foo=2>, <foo=3>, <foo=4>]) (很显然,这是编写的语法,但有没有类似的东西真的起作用?) 注意:这将永远不会被检入。这只是一些一次性的debugging代码。 所以不要担心可读性或可维护性。

在制作python包的时候在setup.py中添加“install_requires”

要制作一个python包,在setup.py ,我有以下几点: setup( name='TowelStuff', version='0.1.0', author='J. Random Hacker', author_email='jrh@example.com', packages=['towelstuff', 'towelstuff.test'], scripts=['bin/stowe-towels.py','bin/wash-towels.py'], url='http://pypi.python.org/pypi/TowelStuff/', license='LICENSE.txt', description='Useful towel-related stuff.', long_description=open('README.txt').read(), install_requires=[ "Django >= 1.1.1", "caldav == 0.1.4", ], ) 所以我用我自己的包装描述和信息重新编写。 当我build立它虽然我得到以下警告: distutils/dist.py:267: UserWarning: Unknown distribution option: install_requires只能在某些版本上使用吗?

在Python函数中使用True,False和None作为返回值

我认为我完全理解这一点,但我只是想确保自从我一直看到人们说永远不会对True , False ,或None 。 他们build议例程应该提出一个错误,而不是返回False或None。 无论如何,我有很多情况下,我只是想知道是否设置标志,所以我的函数返回True或False。 还有其他一些情况,如果没有有用的结果,我有一个函数返回None。 从我的想法来看,只要我意识到我不应该使用: if foo == True if foo == False if foo == None 而应该使用: if foo is True if foo is False if foo is None 因为True,False和None都是单身人士,并且总是以“is”而不是“==”来评估我期望的方式。 我错了吗? 沿着同样的路线,修改有时返回None的函数会不会更加pythonic,以致于它们会引发错误呢? 假设我有一个名为“get_attr()”的实例方法,它从某个文件中检索一个属性。 在发现我请求的属性不存在的情况下是否适合返回None? 让他们提出一个错误并在以后抓到它会更好吗?

Windows上的pip安装访问被拒绝

我试图在Windows上运行pip install mitmproxy ,但是我一直在拒绝访问,即使使用Run as Administrator cmd和PowerShell选项。 WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd' 我怎样才能做这个工作?

用python中的string+密钥计算SHA哈希

亚马逊产品API现在需要每个请求的签名,我试图生成使用Python的Python。 我挂上的这一步是这样的: “使用上面的string和我们的”虚拟“秘密访问密钥:1234567890,使用SHA256哈希algorithm计算符合RFC 2104的HMAC。有关此步骤的更多信息,请参阅您的编程语言的文档和代码示例。 给定一个string和一个秘密密钥(在本例中为1234567890),如何使用Python计算这个散列? ———–更新————- 使用HMAC.new的第一个解决scheme看起来是正确的,但是我得到了不同的结果。 http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?rest-signature.html 根据亚马逊的例子,当你散列密钥1234567890和下面的string GET webservices.amazon.com /onca/xml AWSAccessKeyId=00000000000000000000&ItemId=0679722769&Operation=I temLookup&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReview s&Service=AWSECommerceService&Timestamp=2009-01-01T12%3A00%3A00Z& Version=2009-01-06 你应该得到以下签名: 'Nace+U3Az4OhN7tISqgs1vdLBHBEijWcBeCqL5xN9xg=' 我得到这个: '411a59403c9f58b4a434c9c6a14ef6e363acc1d1bb2c6faf9adc30e20898c83b'

Python中的本地导入语句

我认为把导入语句放在使用它的片段附近,使得它的依赖关系更加清晰,从而有助于可读性。 Python会caching吗? 我应该在乎吗? 这是一个坏主意吗? def Process(): import StringIO file_handle=StringIO.StringIO('hello world') #do more stuff for i in xrange(10): Process() 更多的理由:这是使用库的神秘的方法,但是当我重构方法到另一个文件,我没有意识到我错过了外部依赖,直到我得到一个运行时错误。

在numpy数组中交换列?

from numpy import * def swap_columns(my_array, col1, col2): temp = my_array[:,col1] my_array[:,col1] = my_array[:,col2] my_array[:,col2] = temp 然后 swap_columns(data, 0, 1) 不起作用。 但是,直接调用代码 temp = my_array[:,0] my_array[:,0] = my_array[:,1] my_array[:,1] = temp 请问。 为什么会发生这种情况,我该如何解决? 该错误说:“IndexError:0-D数组只能使用单个()或一个列表(和一个单一的…)作为索引”,这意味着参数不是整数? 我已经尝试将cols转换为int,但是没有解决它。