问题标签 [python-3.2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python 3.2中的X模式
我必须提示用户输入一个值 n >= 3,以便我的 python 3.2 程序可以打印一个 n 模式。
例如,n=4 ==> 模式:
另一个例子,n=5 ==> 模式:
请注意,x 在每一行之后彼此靠近。中排之后,彼此距离越来越远,最终到达各自的终点。
请帮我解决这个问题。我知道我必须使用分支和循环,但我无法弄清楚模式背后的逻辑。
我已经设法打印出一个 n 模式,但它看起来像这样:
示例 n=4 ==> 模式:
我的代码如下所示:
有人可以建议我如何打印“。” 和“x”交替出现?
python - SQLAlchemy 不会更新我的数据库
我正在使用 SQLAlchemy-0.7.8 制作一个 Pyramid 应用程序。我正在使用 64 位 Python3.2。
问题是,为什么以下函数没有向数据库提交任何内容?
我从另一个脚本导入 DBSession。定义如下:
以下是一些背景信息:
我正在制作的应用程序将用于通过使用正则表达式来表征大块 HTML。如果应用程序卡住并认为一段文本应该有一个通配符匹配,那么用户会得到一个小表单来填写。一旦提交表单,就会调用 create_card。如果通配符与字符串匹配,则创建通配符实例。
WildCard 类没有什么特别之处,它只是存储一个字符串和几个整数。如果我打印出 dCard,它看起来好像 WildCard 已成功提交,因为它有一个整数 id。如果我不在数据库会话上调用刷新,则 dCard['id'] 为无。
id 字段如下所示:
add 和 flush 行导致以下控制台输出:
所以到目前为止,一切都像预期的那样表现得很好。
这就是问题所在:即使 WildCard 实例看起来已经提交到数据库,并且没有引发异常,但直接检查数据库表明没有进行任何更改。
用 commit() 替换 flush() 会引发以下异常:
python - 调试泡菜
我试图腌制一个相当复杂的对象层次结构并得到异常:
是否有任何合理的方法可以用来测试对象层次结构的可挑选性?我的目标是找到违规功能的位置
python - 列表构造中的元组解包(python3)
我很想在作业的右侧使用元组解包:
当然,我可以这样做:
但我认为这很麻烦。我错过了一点吗?一个简单的方法?有这个计划吗?或者是否有理由明确没有在语言中使用它?
部分问题在于所有容器类型都使用构造函数,该构造函数期望可迭代并且不接受 *args 参数。我可以子类化,但这会给其他人应该阅读的脚本引入一些非 Python 的噪音。
installation - 无法为 Python 3.2.3 Windows 64 位下载 python idle
我需要 Python 的逐行调试器。我想我应该从空闲开始。我去了 python.org 并下载了适用于 64 位 Windows 的 Python 3.2.3。大多数 Python 文档都声明所有安装都会自动下载 IDLE。我在 c:\Python32 中安装了 Python。我在此文件夹或其任何子文件夹中看不到 idle.exe 或任何名为 idle 的文件夹。然后我搜索了谷歌并试图看看我如何下载空闲。似乎没有单独的空闲下载——或者没有一个与 64 位匹配的下载。
你能推荐最快的解决方案吗?
- 为 Windows 64 位安装不同的版本(这会破坏我的 3.2.3 安装吗?)
- 放弃 IDLE 安装不同的 IDE(尝试了 PyScripter,但无法弄清楚如何一步一步进行逐行调试。PyScripter 远不如 Visual Studio,但它是免费的。)尝试了 pythonfiddle,但无法弄清楚如何设置断点。尝试了 pythontutor 并且无法弄清楚如何设置断点。
回答这个问题(由于声誉低,我不能发布这个答案。)
www.udacity.com 上的某个人为我提供了答案!答案是您通过键入来启动空闲pythonw c:\python32\lib\idlelib\idle.py
一百万年后我永远不会想到这一点!我假设空闲是一个可执行文件。相反,它是一个 python 脚本。
我还了解到,其他版本的 python 不会破坏您的安装,它们只是最终位于不同的文件夹中。
我从堆栈溢出中了解了带有 Pydev 的 Aptana studio 和带有 Python 的 Visual Studio 10。因此,如果空闲对我不起作用,我将尝试这些空闲应用程序。
arguments - 使用 Python 3 将字节作为参数提供给 exe
我有一个需要使用 Python 3.2.3 打开的 exe。我还需要将字节形式的参数传递给 exe。我尝试做类似的事情:
这很好用,但是当我尝试将不可打印的字符作为“\x86”之类的参数时,它会转换为“\x3f”。打印参数会出现以下错误:
所以我尝试使用 os.system 来做:
但显然,这会导致类型错误。有没有人有任何建议来完成这件事?
python - 如何使用 import 语句覆盖 python 内置函数?
我想登录到一个文本文件,无论print
编辑到sys.stdout
. 虽然我知道更聪明的人可以想出更优雅和 Pythonic 的解决方案,但这是我的解决方案
现在,如果我在代码中的任何地方添加
之后编辑的任何内容print
也会被记录。
但是由于许多明显的原因,这并不安全/好。例如,多个logger
对象可能很讨厌。
此外,我的灵感来自
(例如,请参阅this)并且我想做类似的事情,这样当我使用我的模块时,我的 print 版本会在代码中的任何位置覆盖import
内置函数。print
这怎么可能?
python - Python 3.2 脚本挂在第三个函数上
我正在尝试制作一个非常简单的 python 脚本,将两个字符放在一起,但是在运行脚本时,它执行脚本用来定义两个字符统计信息的前两个函数,但是当它到达第三个函数时,它只是挂起。
这是代码:
是的,这段代码完全未经编辑,我意识到我的评论不是很好。
pyramid - Pyramid 应用程序未在视图之间释放内存
我有一个以有趣的方式行为不端的金字塔视图。视图所做的是从文件中获取一个非常复杂的对象层次结构(使用 pickle),进行一些处理,然后呈现一个 html 表单。很好很简单。
设置:
我正在运行 Ubuntu 12.04 64 位、Python3.2、Pyramid 1.3.3、SQLAlchemy 0.7.8 并使用标准的女服务员服务器。
症状
我遇到了一些效率问题,所以使用系统监视器来尝试查看发生了什么,并发现当金字塔进行处理时,对于我描述的我的 ram 使用率稳步上升的视图。由于 html 表单显示在我的浏览器中,内存使用量趋于平稳,但没有下降。重新加载视图导致 ram 使用量从它停止的地方稳定增长。如果我继续这样做,我所有的内存都用完了,一切都会停止。
如果我杀死服务器,那么内存使用量会立即下降。
问题
这是怎么回事?很明显,视图渲染之间没有释放内存,但是为什么会发生这种情况呢?我怎样才能让它停止?我什至尝试在从视图返回之前调用 del 东西,但没有任何改变。
session - SQLAlchemy 会话:如何使其保持活力?
我有一个会话对象,它被传递了很多,并且在某些时候调用了以下代码行(这是不可避免的):
这使会话无法使用(我认为通过关闭它)。
我的问题分为两部分:
- 如何检查会话是否仍然有效?
- 有没有一种快速的方法来恢复死掉的会话?
对于 2:我目前知道的唯一方法是使用 sqlalchemy.orm.scoped_session,然后多次调用 query(...)get(id) 来重新创建必要的模型实例,但这似乎非常低效。
编辑
以下是导致错误的事件序列示例:
这是错误:
我真的不想关闭延迟加载。
编辑
在这种情况下,DBSession.is_active 似乎没有表明会话实际上是否还活着并且运行良好:
这打印真...
编辑 这对于评论来说似乎太大了,所以我把它放在这里。
zzzeek 说:“一个过期的对象会通过 Session 自动从数据库中加载新的状态,只要你访问它上面的任何东西,所以没有必要告诉 Session 在这里做任何事情。”
那么我如何让事情以这种方式发生呢?调用 transaction.commit 是错误的,正确的方法是什么?