如何让一个python正则expression式像“(。*)”这样,因为“a(b)c(d)e”python匹配“b”而不是“b)c(d”? 我知道我可以使用“[^)]”而不是“。”,但我正在寻找一个更一般的解决scheme,使我的正则expression式更清洁。 有什么办法可以告诉python“嘿,尽快配对”?
在Python中,使用itertools模块生成列表的所有排列是非常简单的。 我有一个情况,我使用的列表只有两个字符(即“1122”)。 我想要生成所有独特的排列。 对于string“1122”,有6个独特的排列(1122,1212,1221等),但itertools.permutations将产生24个项目。 只logging独特的排列是很简单的,但是由于考虑了全部720个项目,所以收集这些排列所花费的时间会比所需要的长得多。 是否有一个函数或模块在产生排列时考虑重复的元素,所以我不必自己写?
我在非标准位置安装了自己的OpenSSL安装(本例为/my/path ),我希望Python 3.4能够针对源代码进行编译。 我试过的是这个(目录缩写) CPPFLAGS="-I/my/path/include -I/my/path/include/openssl" ./configure –prefix=/my/path/ 我也试着用C_INCLUDE_PATH和冒号分隔的path。 然后,我运行make并得到这个: building '_ssl' extension gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I./Include -I. -IInclude -I/my/path/include -I/my/path/include/openssl -I/usr/local/include -I/my/path/Python-3.4.0/Include -I/my/path/Python-3.4.0 -c /my/path/Python-3.4.0/Modules/_ssl.c -o build/temp.linux-x86_64-3.4/my/path/Python-3.4.0/Modules/_ssl.o gcc -pthread -shared build/temp.linux-x86_64-3.4/my/path/Python-3.4.0/Modules/_ssl.o -L/my/path/lib -L/usr/local/lib -lssl -lcrypto -o build/lib.linux-x86_64-3.4/_ssl.cpython-34m.so *** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-3.4/_ssl.cpython-34m.so: undefined […]
我正在使用Selenium通过Python API绑定在Chrome中运行testing,而且我很难弄清楚如何configurationChrome以使得载入testing的console.log输出可用。 我看到WebDriver对象上有get_log()和log_types()方法,并且我看到了Get chrome的控制台日志 ,它显示了如何在Java中执行操作。 但是我没有在Python API中看到相当于Java的LoggingPreferencestypes。 有什么方法可以完成我所需要的吗?
我正在努力解决以下问题。 我需要生成由一组图表组成的报表。 所有这些图表,除了一个,都使用Matplotlib默认后端(TkAgg)。 一张图需要使用开罗后端,原因是我正在绘制igraph图,只能使用开罗绘制。 问题是我不能dynamic更改后端,例如以下不起作用: matplotlib.pyplot.switch_backend('cairo.png') (我知道switch_backendfunction是实验性的) 我也试过matplotlib.use("cairo.png")但是这会导致导入问题,因为matplotlib.use("cairo.png")语句应该在导入matplotlib.pyplot之前出现。 但在脚本的生命周期中,我需要两个不同的后端。 所以我的问题是有人有一个代码片段,显示如何切换在Matplotlib后端? 非常感谢! 更新:我写了一个代码加载matplotlib,显示默认后端,卸载matplotlib,重新加载它,并更改后端: import matplotlib import matplotlib.pyplot as plt import sys print matplotlib.pyplot.get_backend() modules = [] for module in sys.modules: if module.startswith('matplotlib'): modules.append(module) for module in modules: sys.modules.pop(module) import matplotlib matplotlib.use("cairo.png") import matplotlib.pyplot as plt print matplotlib.pyplot.get_backend() 但这真的是这样做的方式吗? 更新2:昨天我有一些严重的脑冻结…简单而最明显的解决scheme是使用开罗后端的所有图表,而不是切换后端所有:) 更新3:其实,这仍然是一个问题,所以谁知道如何dynamic地切换matplotlib后端….请发表您的答案。
我想在运行os.system调用之后在variables中获得stdout 。 让我们以这一行为例: batcmd="dir" result = os.system(batcmd) result将包含错误代码(在Windows下为stderr 0 ,在上面的例子中,在一些linux下为1 )。 我怎样才能得到上述命令的stdout ,而不使用执行命令中的redirect?
为什么不这样做可能天真的预期? class Foo(object): def __init__(self): self.bar = 3 def __bool__(self): return self.bar > 10 foo = Foo() if foo: print 'x' else: print 'y' (输出是x )
是否有可能在不使用COM对象的情况下使用Python读写Word(2003和2007)文件? 我知道我可以: f = open('c:\file.doc', "w") f.write(text) f.close() 但Word会将其作为HTML文件而不是本机.doc文件进行读取。
Ubuntu Maverick w / Python 2.7: 我无法弄清楚如何解决下面的导入错误: >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/ssl.py", line 60, in <module> import _ssl # if we can't import it, let the error propagate ImportError: No module named _ssl 更新:我重新编译的源代码。 我无法弄清楚如何在下面提到的答案中加上–with-ssl选项,而是通过在/Modules/Setup.dist中编辑有关SSL的行来解决这个问题。
我正在尝试使2个函数在同一时间运行。 def func1(): print 'Working' def func2(): print 'Working' func1() func2() 有谁知道如何做到这一点?