小编Sam*_*yer的帖子

如何在Windows中的Python中执行os.execv()而不从控制台中删除?

我在Windows 7上使用Python 2.6.我有Windows .cmd文件,它调用Python来运行CherryPy Web服务器(版本3.1.2).我通过在Windows CMD shell中的提示符处执行它来启动此.cmd文件.当CherryPy注意到其中一个依赖文件发生了变化时,它会重新启动.在Windows上的此配置中会出现一些问题,因为CherryPy用于重新启动自身的调用是

os.execv(sys.executable, args)
Run Code Online (Sandbox Code Playgroud)

但是您无法在.cmd文件上调用Python可执行文件.我已经设法通过各种Python体操绕过了这个问题,现在我通过调用(基本上)重新启动它

os.execv(sys.argv[0], args)
Run Code Online (Sandbox Code Playgroud)

但重新启动的进程与键盘分离; 它将捕获Ctrl-C,然后我被问到

Terminate batch job (Y/N)?
Run Code Online (Sandbox Code Playgroud)

但是Y或NI类型不是由终止.cmd文件捕获的,而是由Windows CMD shell捕获的,它会响应

'Y' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

那么我如何在Windows中进行设置以使重新启动的进程保持在Unix中我称之为"前景"的位置?

python windows cmd exec

6
推荐指数
1
解决办法
2388
查看次数

SQLite最大查询参数在Snow Leopard上有所不同吗?

这是一个小问题,但我有点难过.

sqlite对查询参数的数量有999的硬限制.这是在不属于公共头文件的头文件中设置的,运行时使您能够降低限制,但不能超过硬限制.Snow Leopard上的Python sqlite3模块(以及Lion,显然)允许更多的参数,但是,我无法弄清楚我的生活是如何可能的.

我考虑过Python包装器本身正在进行参数替换并将完整语句传递给sqlite3的可能性.但据我从源代码中可以看出,这种情况并没有发生.我还考虑过在Snow Leopard上实现sqlite3是根据略有不同的源代码编译的可能性.但事实证明,Apple发布了其开源修改(参见http://opensource.apple.com/source/SQLite/SQLite-74.11/),其源中的参数限制与默认值相同.

如果有人知道这可能会如何发生(并且我确定它正在发生;我已经创建了2000个参数的语句并且它们工作正常),请加入.为了它的价值,我遇到了这个奇怪的因为相同的由于参数限制,Windows上的代码中断.

python sqlite parameters

5
推荐指数
1
解决办法
388
查看次数

标签 统计

python ×2

cmd ×1

exec ×1

parameters ×1

sqlite ×1

windows ×1