Tag: python

正确的方法来断言Python中的variablestypes

在使用一个函数时,我希望确保variables的types符合预期。 如何做到这一点? 下面是一个伪装函数的例子,在继续它的angular色之前试图做到这一点: def my_print(begin, text, end): """Print 'text' in UPPER between 'begin' and 'end' in lower """ for i in (begin, text, end): assert isinstance(i, str), "Input variables should be strings" out = begin.lower() + text.upper() + end.lower() print out def test(): """Put your test cases here! """ assert my_print("asdf", "fssfpoie", "fsodf") assert not […]

在文件上打开资源pipe理器

在Python中,如何跳转到Windows资源pipe理器中的文件? 我find了跳转到文件夹的解决scheme: import subprocess subprocess.Popen('explorer "C:\path\of\folder"') 但我没有文件的解决scheme。

Flask应用程序中的常用文件夹/文件结构

我刚刚创build了一个烧瓶应用程序,到目前为止,我的“Hello World!”有一个路由器。 模板。 我想添加一些(很多)更多的function,但我不知道如何构build应用程序目录。 构buildFlask应用程序的最常用方法是什么? 例如,我应该创build一个routes.py所有我的路线? SQLAlchemy的东西去哪了? 模型应该在models.py吗?

通过url获取json数据并用于python(simplejson)

我想这必须有一个简单的答案,但我挣扎:我想要一个URL(其中输出JSON),并获取在Python中的可用字典中的数据。 我被困在最后一步。 >>> import urllib2 >>> import simplejson >>> req = urllib2.Request("http://vimeo.com/api/v2/video/38356.json", None, {'user-agent':'syncstream/vimeo'}) >>> opener = urllib2.build_opener() >>> f = opener.open(req) >>> f.read() # this works '[{"id":"38356","title":"Forgetfulness – Billy Collins Animated Poetry","description":"US Poet Laureate Billy Collins reads his poem ","url":"http:\\/\\/vimeo.com\\/38356","upload_date":"2006-01-24 15:21:03","thumbnail_small":"http:\\/\\/80.media.vimeo.com\\/d1\\/5\\/47\\/74\\/thumbnail-4774968.jpg","thumbnail_medium":"http:\\/\\/80.media.vimeo.com\\/d1\\/5\\/46\\/85\\/thumbnail-4685118.jpg","thumbnail_large":"http:\\/\\/images.vimeo.com\\/87\\/39\\/873998\\/873998_640x480.jpg","user_name":"smjwt","user_url":"http:\\/\\/vimeo.com\\/smjwt","user_portrait_small":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.30.jpg","user_portrait_medium":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.75.jpg","user_portrait_large":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.100.jpg","user_portrait_huge":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.300.jpg","stats_number_of_likes":"281","stats_number_of_plays":"9173","stats_number_of_comments":23,"duration":"112","width":"320","height":"240","tags":"poetry, poet, online poetry, famous poet, video poetry, modern poetry, famous poem, poetry sites, […]

如何让Perl和Python打印正在执行的程序的每一行?

我知道bash -x script.sh将在实际执行之前执行脚本打印每一行。 如何使Perl和Python解释器做同样的事情?

如何为namedtuple的子类提供额外的初始化?

假设我有一个像这样的namedtuple : EdgeBase = namedtuple("EdgeBase", "left, right") 我想为此实现一个自定义的散列函数,所以我创build了下面的子类: class Edge(EdgeBase): def __hash__(self): return hash(self.left) * hash(self.right) 由于对象是不可变的,所以我希望哈希值只能计算一次,所以我这样做: class Edge(EdgeBase): def __init__(self, left, right): self._hash = hash(self.left) * hash(self.right) def __hash__(self): return self._hash 这似乎工作,但我真的不知道在Python的子类化和初始化,特别是与元组。 这个解决scheme有什么缺陷吗? 有一个build议的方式如何做到这一点? 好吗? 提前致谢。

在authentication(login)用户会话中使用Scrapy

在Scrapy文档中 ,有以下示例来说明如何在Scrapy中使用经过身份validation的会话: class LoginSpider(BaseSpider): name = 'example.com' start_urls = ['http://www.example.com/users/login.php'] def parse(self, response): return [FormRequest.from_response(response, formdata={'username': 'john', 'password': 'secret'}, callback=self.after_login)] def after_login(self, response): # check login succeed before going on if "authentication failed" in response.body: self.log("Login failed", level=log.ERROR) return # continue scraping with authenticated session… 我有这个工作,这很好。 但是我的问题是 :如果他们在最后一行的评论中说了什么,你需要做些什么才能continue scraping with authenticated session ?

Python类中的属性初始化/声明:在哪里放置它们?

我想知道在Python中,在类的主体或__init__函数中初始化对象属性的最佳做法是什么? 即 class A(object): foo = None VS class A(object): def __init__(self): self.foo = None

为什么map在Python 3中返回地图对象而不是列表?

我有兴趣了解Python 3.x的新语言devise 。 我喜欢Python 2.7中的函数map : Python 2.7.12 In[2]: map(lambda x: x+1, [1,2,3]) Out[2]: [2, 3, 4] 但是,在Python 3.x中已经发生了变化: Python 3.5.1 In[2]: map(lambda x: x+1, [1,2,3]) Out[2]: <map at 0x4218390> 我了解如何,但我找不到为什么参考。 语言devise师为什么做这个select,在我看来,这是一个很大的痛苦。 这是为了掰手腕开发者坚持列表parsing吗? 国际海事组织,名单可以自然地认为作为Functors ; 我曾以某种方式被认为这样想: fmap :: (a -> b) -> fa -> fb

嘲笑使用python模拟function

我想模拟一个函数(返回一些外部内容)使用python模拟模块(http://www.voidspace.org.uk/python/mock/index.html)。 我有一些麻烦嘲笑导入到模块的function。 例如,在util.py我有 def get_content(): return "stuff" 我想嘲笑util.get_content,以便它返回别的东西。 我正在尝试这个: util.get_content=Mock(return_value="mocked stuff") 如果get_content被另一个模块调用,它实际上似乎不会返回模拟对象。 我错过了如何使用模拟的东西? 请注意,如果我调用以下,事情正常工作: >>> util.get_content=Mock(return_value="mocked stuff") >>> util.get_content() "mocked stuff" 但是,如果从另一个模块内部调用get_content,则会调用原始函数而不是模拟版本: >>> from mymodule import MyObj >>> util.get_content=Mock(return_value="mocked stuff") >>> m=MyObj() >>> m.func() "stuff" mymodule.py的内容 from util import get_content class MyObj: def func(): get_content() 所以我想我的问题是 – 我怎么才能从我调用的模块内调用函数的Mocked版本? 看起来, from module import function可能是在这里指责,因为它不指向模拟function。