【Python利用上下文实现类似with open功能】教程文章相关的互联网学习教程文章

python – 使用上下文管理器时,对象变为None【代码】

为什么这不起作用:class X:var1 = 1def __enter__(self): passdef __exit__(self, type, value, traceback): passwith X() as z:print z.var1我明白了:print z.var1 AttributeError: 'NoneType' object has no attribute 'var1'解决方法:将X的定义更改为class X(object):var1 = 1def __enter__(self):return selfdef __exit__(self, type, value, traceback):passwith将__enter __()方法的返回值指定为之后的名称.您的__enter __...

python – Django 1.11 TypeError上下文必须是dict而不是Context【代码】

刚收到Sentry错误,TypeError上下文必须是dict而不是Context.在我的一个表格上.我知道它与Django 1.11有关,但我不知道要修改什么来修复它. 违规线 message = get_template(’email_forms / direct_donation_form_email.html’).render(Context(ctx)) 整个视图def donation_application(request):if request.method == 'POST':form = DirectDonationForm(data=request.POST)if form.is_valid():stripe.api_key = settings.STRIPE_SEC...

Python中的上下文管理器和装饰器之间的区别【代码】

两者之间的主要区别是什么?我一直在研究Python并遇到过它们.装饰器本质上是一个包装另一个函数的函数,你可以在特定函数执行之前和之后做任何事情.def my_decorator(some_function):def wrapper(*args, **kwargs):print("Do something before the function is called")some_function(*args, **kwargs)print("Do something after the function is called")return wrapper@my_decorator def addition(a, b):result = a+bprint("Addit...

Python Mako模板 – 如何基于上下文中的值动态决定调用哪个def或函数?【代码】

我会在Mako文件中执行以下操作:%for operation in operation_list:${operation['name']}${${operation['name']}Body()} %endfor<%def name="operationOneBody()">some stuff </%def><%def name="operationTwoBody()">some other stuff </%def>基本上,我期望上下文将包含名称为“operationOne”和“operationTwo”的操作,我想动态决定插入哪个Mako Def. 在${${operation [‘name’]} Body()}行中,想法是在内部${}标记${operation [...

python – flask 0.10 mongo在应用程序上下文之外工作【代码】

我知道如何处理烧瓶“在应用程序环境之外工作”的问题很少,但我无法让它为我工作 我有一个长期运行的mongo聚合查询,并计划使用apscheduler定期运行.下面是我的应用程序结构,但任务失败,出现“RuntimeError:在应用程序上下文之外工作”. ihttp://flask.pocoo.org/docs/patterns/sqlite3/有一些关于使用新flask.g的例子,但想知道是否有人可以建议如何全局正确保存mongodb连接并在apscheduler中共享该连接__init.py__from app impor...

python – 是否可以访问上下文管理器的__exit __()方法中的上下文对象(代码块)?【代码】

我想在exit()方法中再次调用代码对象,如果它引发异常(可能是几次,可能有延迟).我知道装饰器很容易,但我的动机是有时候我想重复一些代码片段,我不想提取到一个单独的函数并装饰它.我正在寻找这些方面的东西:class again(object):def __enter__(self):passdef __exit__(self, exc_type, exc_val, exc_tb):if exc_type is not None:???? # Invoke the code object againreturn True # eat exception它会像这样使用:x = 0 wit...

python – 检测上下文管理器嵌套【代码】

我最近一直想知道是否有办法检测上下文管理器是否嵌套. 我创建了Timer和TimerGroup类:class Timer:def __init__(self, name="Timer"):self.name = nameself.start_time = clock()@staticmethoddef seconds_to_str(t):return str(timedelta(seconds=t))def end(self):return clock() - self.start_timedef print(self, t):print(("{0:<" + str(line_width - 18) + "} >> {1}").format(self.name, self.seconds_to_str(t)))def __en...

是否有可能创建一个上下文敏感的python上下文管理器来保存,修改和恢复状态?【代码】

我有一对python函数,目前在两个值之间翻转一个全局变量.我想把它们变成上下文管理器,所以我可以像块一样使用它们,在块中设置变量,但之后恢复它.这是所需的行为:>>> MODE 'user' >>> mode_sudo() # Sets MODE to 'sudo'... >>> MODE 'sudo' >>> mode_user() # Sets MODE to 'user'... >>> MODE 'user' >>> with mode_sudo(): ... print MODE 'sudo' >>> MODE 'user'这样的嵌合体可能吗? 更新:为了清楚起见,这里是仅限上下文...

python面向对象的多态-类相关内置函数-类内置魔法函数-迭代器协议-上下文管理-04【图】

多态 一种事物具备不同的形态 例如:水 --> 固态、液态、气态 多态:# 多个不同对象可以相应同一个对象,产生不同的结果 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以相应同一个方法,长身不同的结果) 好处:对于使用者而言,使用成本降低 ? 之前的USB接口下的鼠标,键盘,就属于多态 接口抽象类 鸭子类型都可以写出具备多态的代码(最简单的就是鸭子类型) ''' 要管理 鸡 鸭 鹅如何能够最方便的管理...

接受Python中的文件参数(从发送到上下文菜单)

我将首先注意到我没有python经验. alt text http://www.aquate.us/u/9986423875612301299.jpg 您可能知道,只需在Windows PC上的“发送到”文件夹中删除快捷方式,就可以允许程序将文件作为参数. 我如何编写一个以此文件为参数的python程序? 如果有人有机会,作为奖励 – 如何将其与urllib2集成以将文件POST到我的服务器上的PHP脚本? 提前致谢. 编辑 – 另外,如何在Sendto菜单中显示某些内容?我的印象是你只是将一个快捷方式放入Se...

python – PyQt上下文菜单【代码】

我正在动态地向QTableWidget添加一个contextmenu:playlistContenxt = QAction("Add to %s" % (currentItem.text()), self.musicTable) playlistContenxt.setData(currentData) self.connect(playlistContenxt, SIGNAL("triggered()"), self.addToPlaylistAction) self.musicTable.addAction(playlistContenxt)currentItem.text()是从db获取的播放列表名称,因为您只能看到一个函数(addToPlaylistAction)接收来自不同操作的所有触发...

python – Django:如何在FormView get()方法中提供上下文(也使用请求参数)【代码】

我试图在我的FormView中的get()方法中提供一些额外的上下文.我需要get()因为我需要先运行一些逻辑,检查是否存在潜在的重定向.我还需要访问请求对象(因为我需要检查会话数据).无法弄清楚该怎么做.以下简化代码.. 尝试1:class LoginView(FormView):template_name = 'members/login.html'form_class = LoginFormdef get(self, request):# check if to redirectif self.request.session.get('user'):return redirect('/dashboard/')# ...

python – NLTK:查找单词大小为2k的上下文【代码】

我有一个语料库,我有一个词.对于语料库中每个单词的出现,我想得到一个包含前面的k个单词和单词后面的k个单词的列表.我在算法上做得很好(见下文),但我想知道NLTK是否为我错过了我的需求提供了一些功能?def sized_context(word_index, window_radius, corpus):""" Returns a list containing the window_size amount of words to the leftand to the right of word_index, not including the word at word_index."""max_length = le...

python – 在体内代码之前调用的上下文管理器出口【代码】

我一直在玩Python自己的上下文管理器.我看到一些奇怪的行为很可能是由于我的实施. 我看到在’with’上下文中的语句之前调用的__exit__代码.例如,以下是代码段:with ProgressBar(10) as p:p.update(1)这是例外:Traceback (most recent call last):File "<stdin>", line 3, in <module> AttributeError: 'NoneType' object has no attribute 'update'我把调试放在所有的__enter __,__ exit__,并更新了我的上下文管理器的方法.看起来...

python – 将Google App Engine实体密钥传递到网页以维护上下文是否安全?【代码】

我有一个简单的GAE系统,其中包含Account,Project和Transaction的模型. 我正在使用Django生成一个网页,其中包含属于给定帐户的表中的项目列表,我想创建指向每个项目详细信息页面的链接.我正在生成一个链接,将Project的键转换为字符串,并在链接中包含该链接,以便于查找Project对象.这给出了一个如下所示的链接:<a href="/project?key=agxkZAB-bnVpY2VrbXRyDDsSBkNvdXBvbhgBDA">My Project Name</a>>创建这样的链接是否安全?有没有更...

功能 - 相关标签