标签: python-idle

延迟但不禁用iPhone自动锁定

我目前有一个非常简单的应用程序,唯一的互动是摇动iPhone.但最终屏幕变暗和自动锁定,因为iPhone没有任何触摸事件.我想知道是否有办法在摇动时重置自动锁定超时?

我知道要完全禁用自动锁定,我会这样做:

[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ]
Run Code Online (Sandbox Code Playgroud)

但我真的不想完全禁用它; 如果合法地不使用iPhone,它应该按预期自动锁定.

谢谢你的帮助.

iphone timer delay python-idle

5
推荐指数
2
解决办法
5413
查看次数

Python IDLE:运行main?

我在闲聊:

>>> import mymodule
>>> # ???
Run Code Online (Sandbox Code Playgroud)

导入模块后:

if __name__ == '__main__':
    doStuff()
Run Code Online (Sandbox Code Playgroud)

我如何实际main从IDLE 打电话?

python python-idle runpy

5
推荐指数
2
解决办法
3万
查看次数

如何检测Qt中的用户不活动?

如何在Qt QMainWindow中检测用户不活动?到目前为止,我的想法是使用一个QTimer来增加一个计数器,如果传递了某个值,它将锁定应用程序.任何鼠标或键交互都应该将计时器设置回0.但是我需要知道如何正确处理重置的输入事件; 我可以重新实施:

virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
Run Code Online (Sandbox Code Playgroud)

...但是QMainWindow中所有小部件的事件处理程序不会阻止这些控件中发生的事件到达QMainWindow吗?是否有更好的架构来检测用户活动?

c++ qt user-inactivity python-idle

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

带有C3P0连接检查的jTDS套接字(SQL Server 2008 R2)

这是环境:

  • Java 5
  • 在Windows上运行Tomcat 6.0.18的Web应用程序(不确定版本)
  • 数据库:SQL Server 2008 R2
  • JDBC驱动程序:jTDS 1.2.5
  • 连接池提供者:C3P0 0.9.1.2

我正在尝试调试客户端遇到的问题.基本上每隔几周,我们的Web应用程序就锁定在他们的服务器上,他们无法访问它.重启可以解决问题.进一步调查显示,所有内容都被锁定的原因是一切都在等待数据库连接返回.我认为问题可能出在SQL Server上,而不是C3P0上.

我认为正在发生的是C3P0的"空闲检查查询"正在悬挂.查询是这样的:

select * from c3p0_connection_test_table
Run Code Online (Sandbox Code Playgroud)

看起来这个查询运行,结果永远不会返回.这是我在线程转储中看到的内容.注意DefaultConnectionTester.activeCheckConnection(),这是空闲检查:

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=6 tid=0x0000000007c32000 nid=0x1250 runnable [0x000000001072f000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.DataInputStream.readFully(DataInputStream.java:178)
    at java.io.DataInputStream.readFully(DataInputStream.java:152)
    at net.sourceforge.jtds.jdbc.SharedSocket.readPacket(SharedSocket.java:841)
    at net.sourceforge.jtds.jdbc.SharedSocket.getNetPacket(SharedSocket.java:722)
    - locked <0x000000016ac03f48> (a java.util.ArrayList)
    at net.sourceforge.jtds.jdbc.ResponseStream.getPacket(ResponseStream.java:466)
    at net.sourceforge.jtds.jdbc.ResponseStream.read(ResponseStream.java:103)
    at net.sourceforge.jtds.jdbc.ResponseStream.peek(ResponseStream.java:88)
    at net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3928)
    at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1045)
    - locked <0x000000016d965268> (a net.sourceforge.jtds.jdbc.TdsCore)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:465)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeQuery(JtdsStatement.java:1301)
    at com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:73)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:374)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(C3P0PooledConnectionPool.java:310)
    at com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1999)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Run Code Online (Sandbox Code Playgroud)

但是什么可能导致这样一个简单的查询挂起来从套接字读取?我不相信这个表上会有任何数据库锁定,因为它完全由C3P0管理,从不插入/更新.此外,任何失败的尝试从池中获取连接(如果这是挂起的原因),我会期望在某处的堆栈跟踪.相反,我看到的是应用程序只是锁定,因为所有未来的连接请求都在等待这个"空闲检查"完成. …

sql-server jtds jdbc c3p0 python-idle

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

在Python的IDLE中扩展shell的宽度

我是python的新手,我正在使用Python的IDLE.使用numpy,我创建了一个24 x 24矩阵.我只是想看一下矩阵.我已经在我的显示器上最大化了外壳,所以有足够的空间来打印整个24列的宽度,但它只打印前13列,然后继续到下一行打印下面的11列(在Stack中遇到麻烦)溢出复制并粘贴它正在做的事情).Shell窗口的整个右半部分是空白的(它压缩所有东西以适合左半部分).

这比打印24列宽更难阅读.任何人都可以告诉我如何使用shell的整个宽度(而不仅仅是左半部分)说服IDLE打印?我认识到这是一个有点愚蠢的问题而道歉,但它让我发疯.

它看起来有点像这样(再次尝试粘贴时出现Stack Overflow问题):

[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0., …
Run Code Online (Sandbox Code Playgroud)

shell numpy screen python-idle

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

Python - 子进程和python shell

我试图shell到一个非python子进程,并允许它从python继承stdin和stdout. - 我正在使用subprocess.Popen

如果我从控制台调用,这可能会有效,但是当我使用python shell时它肯定不起作用

(我顺便使用IDLE)

有没有办法说服python允许非python子进程将它的stdout打印到python shell?

python subprocess popen python-idle

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

如何使用除IDLE之外的东西以交互方式调试Python中的异常?

当我使用IDLE运行脚本时,如果脚本遇到异常并且执行停止,那么我将留下一个交互式shell,我可以用它来调查异常时的应用程序状态.这真的很好,但我发现IDLE缺乏编辑器.有没有一种方法可以让我在不使用IDLE的情况下"放弃异常交互式shell"行为?在此输入图像描述

python ide python-idle

5
推荐指数
2
解决办法
2152
查看次数

找出是否在IDLE或终端/命令提示符下运行python脚本

有没有办法找出python脚本是否在IDLE解释器或终端中运行?

如果可能,跨平台工作,或者如果每个平台需要不同的方式.

如果可能,使用Python 2和Python 3,或者如果每个版本需要不同的方式.

我能想到的唯一方法是检查为IDLE运行的进程,但我不知道该怎么做.

如果IDLE对另一个脚本打开并且我的脚本在终端中运行,即使我的脚本没有在IDLE中运行,进程检查也会返回true.

我的脚本需要以不同的方式运行,具体取决于它是在IDLE还是终端中运行.

python terminal cross-platform python-idle python-3.x

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

如何在IDLE中清除Python Shell

我正在运行一个脚本,该脚本使用一个模块在屏幕上打印很多东西,而我的RAM用完了.
我不能让模块暂时不写任何东西.
Python Shell存储绝对所有内容,我想清除它.
在类似的问题上,我能找到的唯一答案就是写os.system('cls')(在Windows上),但它不会删除任何内容.
有没有办法清除Python Shell或限制其大小?
谢谢


编辑.
好吧,这个问题被标记为重复,我被要求澄清为什么不是.
我声明这os.system('cls')不起作用,而我提出的重复问题的答案是写os.system('cls').

python python-idle

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

IDLE无法在Windows上打开调试版本

我从http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz下载了源代码,并借助于http://docs.python.org/devguide/的说明setup.html,我能够从源代码构建Python.

现在尝试运行命令时

C:\Python-2.7.6\PCbuild\pythonw_d.exe c:\Python-2.7.6\Lib\idlelib\idle.py
Run Code Online (Sandbox Code Playgroud)

什么都没有出现.

所以我开始调试,首先通过以下代码片段将控制台添加到Windows应用程序 pythonw\WInMain.c

void RedirectStdoutToNewCOnsole()
{
    HANDLE consoleHandle;
    FILE *fp;
    int fileDescriptor;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    AllocConsole();
    consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    fileDescriptor = _open_osfhandle((intptr_t)consoleHandle, _O_TEXT);
    fp = _fdopen( fileDescriptor, "w" );
    *stdout = *fp;
    setvbuf( stdout, NULL, _IONBF, 0 );        
    if ( GetConsoleScreenBufferInfo(consoleHandle, &csbi) )
    {
        COORD bufferSize;
        bufferSize.X = csbi.dwSize.X;
        bufferSize.Y = 1000;
        SetConsoleScreenBufferSize(consoleHandle, bufferSize);
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够看到源被正确解析

Token NAME/'import' ... It's a keyword
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', …
Run Code Online (Sandbox Code Playgroud)

python debugging python-idle python-2.7

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