小编dug*_*res的帖子

如何制作便携式正则表达式?

正则表达式的哪些特性是标准的,哪些是特殊的?
如果我想在不同的上下文、语言、平台中使用相同的正则表达式,我应该做什么,而不是做什么?

regex portability

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

Python子进程,子shell和重定向

我想使用子shell的魔力和python子进程模块的重定向,但它似乎不起作用,抱怨意外的令牌是括号.例如,命令

cat <(head tmp)

传递给子进程时给出了这个

>>> subprocess.Popen("cat <(head tmp)", shell=True)
<subprocess.Popen object at 0x2b9bfef30350>
>>> /bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `cat <(head tmp)'
Run Code Online (Sandbox Code Playgroud)

python bash subprocess subshell

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

用python-daemon守护python脚本 - 套接字故障

我试着守护一些代码,但是我遇到了麻烦.

如果我用tklogger()调用代码,它运行得很好.但是,如果我在守护进程上下文中调用它,我会得到以下跟踪:

Traceback (most recent call last):
  File "./tklogger.py", line 103, in <module>
    tklogger()
  File "./tklogger.py", line 41, in tklogger
    conn, addr = s.accept()
  File "/usr/lib/python2.6/socket.py", line 195, in accept
    sock, addr = self._sock.accept()
socket.error: [Errno 9] Bad file descriptor
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

#!/usr/bin/python

# tklogger, a TK10X GPS tracking device logger

import socket
import time
import daemon

HOST = ''                       # Bind to all interfaces
PORT = 9000                     # …
Run Code Online (Sandbox Code Playgroud)

python daemon

3
推荐指数
1
解决办法
2049
查看次数

在python中重新创建类似shell的解释器?

在我坐下来开始讨价还价之前,我以为我会来这里看看你们是否有任何提示,或者即使之前已经完成了这样的事情.

我想在python程序中重新创建类似语法的基本shell.换句话说,当人们使用python运行文件时,他们会收到一些提示

>> 
Run Code Online (Sandbox Code Playgroud)

对于简单的事情,使用选项解析器来说

opt.parse_args(input.split(" "))
Run Code Online (Sandbox Code Playgroud)

工作得很好,但现在我不仅想要使用'\'字符来转义特殊字符,例如空格,还要将引用的字符串视为单个参数,就像在unix shell中一样.

是否存在可能对此有帮助的任何内容?

谢谢你的任何建议! - 追逐

python string shell parsing special-characters

2
推荐指数
1
解决办法
520
查看次数

无论Python中的顺序如何,都要计算元组列表中唯一元素的数量

我有一个列表,其中包含以下形式的元组:

[('s1', 's2'),('s3','s32')...('s2','s1')]`
Run Code Online (Sandbox Code Playgroud)

考虑到顺序不重要,我如何计算不同元组的数量?

示例:('s1','s2')与...相同('s2','s1')

python list set

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

匹配python中的html标签

我正在编写一个python片段来修复HTML代码中标题的大小.到目前为止,我已经提出了这个代码:

pattern = re.compile("<h1>(.*)</h1>|<h2>(.*)</h2>|<h3>(.*)</h3>|<h4>(.*)</h4>|<h5>(.*)</h5>|<h6>(.*)</h6>")

def replace(m):
    contents = m.group(1)
    replacement = contents[0] + contents[1:].lower()
    return replacement
Run Code Online (Sandbox Code Playgroud)

然后,给定a line,我使用的转换是line = pattern.sub(replace, line).

这不起作用,因为m.group(1)总是None,而我希望它是与我的正则表达式中的任何子句相对应的匹配.由于模式不能在python中共享一个名字,我有点不知所措.

一个显而易见的解决方案是将我使用的所有模式分组,但随后<h1>bla</h2>会被识别.这不好,因为<h1><a href="...">Bla</a></h1> <h2>Bla</h2>应该产生两个匹配(<a href="...">Bla</a>,和<a href="...">Bla</a>)

想法?

python regex xml xpath

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