获取显示器分辨率的最简单方法是什么(最好是在一个元组中)?
Ruby可以将方法添加到Number类和其他核心types以获得如下效果: 1.should_equal(1) 但是,似乎python不能做到这一点。 这是真的? 如果是这样,为什么? 这是否与types无法修改的事实有关? 更新:而不是谈论猴子补丁的不同定义,我想只关注上面的例子。 我已经得出结论说,这是不可能的,因为你们中的一些人已经回答了。 但是我想要更详细地解释为什么它不能完成,也许什么function,如果在Python中可用,将允许这样做。 回答你们中的一些人:我可能想要这样做的原因只是美学/可读性。 item.price.should_equal(19.99) 阅读更像英文,并清楚地指出哪个是testing值,哪个是期望值,如下所示: should_equal(item.price,19.99) 这个概念是Rspec和其他一些Ruby框架的基础。
如果我试图直接从Windows命令行执行它们作为可执行命令,那么我无法获得传递给Python程序的命令行参数。 例如,如果我有这个程序(test.py): import sys print "Args: %r" % sys.argv[1:] 并执行: >test foo Args: [] 相比之下: >python test.py foo Args: ['foo'] 我的configuration有: PATH=…;C:\python25;… PATHEXT=…;.PY;…. >assoc .py .py=Python.File >ftype | grep Python Python.CompiledFile="C:\Python25\python.exe" "%1" %* Python.File="C:\Python25\python.exe" "%1" %* Python.NoConFile="C:\Python25\pythonw.exe" "%1" %*
我正在走一个包含鸡蛋的目录,将这些鸡蛋添加到sys.path 。 如果在目录中有两个相同的.egg版本,我只想添加最新的一个。 我有一个正则expression式r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$从文件名中提取名字和版本。问题是比较版本号,这是一个像2.3.1的string。 由于我比较string,2 10以上,但这是不正确的版本。 >>> "2.3.1" > "10.1.1" True 我可以做一些分裂,parsing,铸造等,我最终会得到一个解决方法。 但是这是Python, 而不是Java 。 有没有一种比较版本string的优雅方式?
我想在for循环中使用附加的整数创buildstring。 喜欢这个: for i in range(1,11): string="string"+i 但是它返回一个错误: TypeError: unsupported operand type(s) for +: 'int' and 'str' 什么是连接string和整数的最佳方式?
一个创build多个进程的程序,这些进程在可连接的队列Q ,最终可能会操作全局字典D来存储结果。 (因此每个subprocess可以使用D来存储其结果,并且还可以查看其他subprocess正在产生的结果) 如果我在subprocess中打印字典D,则会看到对其进行的修改(即在D上)。 但是在主进程joinQ之后,如果我打印D,这是一个空的字典! 我知道这是一个同步/locking问题。 有人可以告诉我这里发生了什么事情吗?我可以如何同步访问D?
我有以下代码 test = "have it break." selectiveEscape = "Print percent % in sentence and not %s" % test print(selectiveEscape) 我想获得输出: Print percent % in sentence and not have it break. 究竟发生了什么: selectiveEscape = "Use percent % in sentence and not %s" % test TypeError: %d format: a number is required, not str
我需要知道是否存在python模块,而不导入它。 导入可能不存在的东西(不是我想要的): try: import eggs except ImportError: pass
长话短说: pythonw.exe什么都不做, python.exe接受(我应该使用哪一个?) test.py: print "a" CMD窗口: C:\path>pythonw.exe test.py <BLANK LINE> C:\path> C:\path>python.exe test.py File "C:\path\test.py", line 7 print "a" ^ SyntaxError: invalid syntax C:\path> 请告诉我我做错了什么。
我相信在稍微修改一下的环境下运行一个外部命令是一个很常见的情况。 这就是我倾向于这样做的方式: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) 我有一种直觉,认为有更好的办法。 它看起来好吗?