小编Tim*_*ker的帖子

获取错误的错误号

我需要从Python中发生的错误中获取错误号.

防爆; 尝试通过Paramiko包传输目录时,这段代码会出现错误:

try:
    sftp.put(local_path,target_path)    
except (IOError,OSError),errno:
    print "Error:",errno
Run Code Online (Sandbox Code Playgroud)

我得到了输出,

Error: [Errno 21] Is a directory
Run Code Online (Sandbox Code Playgroud)

我想利用错误号进入更多代码来传输目录和目录内容.

python error-handling paramiko

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

捕获http错误

例如,如何捕获python和urllib(2)中页面的404和403错误?

有没有大型包装的快速方法?

添加信息(堆栈跟踪):

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    page = urllib2.urlopen("http://localhost:4444")
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>
Run Code Online (Sandbox Code Playgroud)

python urllib

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

正则表达式匹配单个新行.正则表达式匹配双新线

我正在尝试构造一个匹配单独换行符(\n)的正则表达式.

类似地,我需要另一个正则表达式来匹配双换行符(\n\n),这些换行符不是较长的换行符\n\n\n或类似行\n\n\n\n\n\n等的一部分.

\n(?!\n)\n\n(?!\n)匹配太多(它们与较长的换行序列中的最后一个换行符相匹配).我该怎么做?

javascript regex

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

random.randint(1,10)可以返回11吗?

当用于研究这个问题,并在阅读源代码random.py,我就开始琢磨是否randrangerandint真正表现为"广告".我非常倾向于这么认为,但我读它的方式randrange基本上是实现的

start + int(random.random()*(stop-start))
Run Code Online (Sandbox Code Playgroud)

(假设为start和的整数值stop),因此randrange(1, 10)应返回1到9之间的随机数.

randint(start, stop)正在呼叫randrange(start, stop+1),从而返回1到10之间的数字.

我现在的问题是:

如果random()再回来1.0,那么randint(1,10)会回来11,不是吗?

python random bounds

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

正则表达式匹配未被括号括起来的字符串

如果文本没有被方括号括起来,我必须解析一个带有关键字的文本.我要与关键字匹配.此外,必须有在两侧字边界.

下面是一些例子,其中不是关键字:

  • [与]
  • [与]
  • [sometext with sometext]
  • [sometext with]
  • [有些文字]

以下是使用 IS关键字的一些示例

  • 你好
  • 你好世界
  • 你好[世界]与你好
  • 你好[世界]与你好[世界]

有人帮忙吗?提前致谢.

c# regex

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

is_prime函数通过python中的regex(来自perl)

我读过这篇文章,其中/^1?$|^(11+?)\1+$/Perl正则表达式用于测试数字是否为素数.

处理:

s = '1' * your_number
Run Code Online (Sandbox Code Playgroud)

如果s匹配正则表达式,那么它不是素数.如果没有,那就是素数.

你会如何将该正则表达式转换为Python的re模块?

python regex perl

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

使用方法:虽然不在

我正在尝试检查列表是否没有成员作为布尔运算符AND,OR,NOT.

我用:

while ('AND' and 'OR' and 'NOT') not in list:
  print 'No boolean operator'
Run Code Online (Sandbox Code Playgroud)

但是,当我的输入为:时a1 c2 OR c3 AND,它会输出'No boolean operator',这意味着通过使用上面的循环句子,该列表被认为是没有布尔运算符.

希望有人可以帮忙纠正.

谢谢,辛迪

python while-loop

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

`和'引用的正则表达式有什么区别?

为什么C:\\\\(引用`)正则 不匹配"C:\\"而且"C:\\\\"做什么?

r, err := regexp.Compile(`C:\\\\`) // Not match
r, err := regexp.Compile("C:\\\\")  // Matches
if r.MatchString("Working on drive C:\\") == true {
    fmt.Printf("Matches.") 
} else {
    fmt.Printf("No match.")
}
Run Code Online (Sandbox Code Playgroud)

regex go

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

密码验证正则表达式

我试图得到一个执行以下操作的正则表达式:

  1. 确保没有空白字符
  2. 最小长度为8
  3. 确保至少有:
    • 一个非alpha字符
    • 一个大写字符
    • 一个小写字符

我找到了这个正则表达式:

((?=.*[^a-zA-Z])(?=.*[a-z])(?=.*[A-Z])(?!\s).{8,})
Run Code Online (Sandbox Code Playgroud)

它处理上面的第2点和第3点,但是如何将第一个要求添加到上面的正则表达式?

我知道我可以做两个表达式然后上面的那个

\s
Run Code Online (Sandbox Code Playgroud)

但是我想把它全部集中在一起,我尝试做类似的事情,?!\s但我无法让它发挥作用.有任何想法吗?

regex syntax

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

在python中添加两个不同长度的列表,从右边开始

我想从右边添加两个不同长度的列表这里是一个例子

[3, 0, 2, 1]
[8, 7]
Run Code Online (Sandbox Code Playgroud)

预期结果:

[3, 0, 10, 8]
Run Code Online (Sandbox Code Playgroud)

这些列表表示多项式的系数

这是我的实施

class Polynomial:
    def __init__(self, coefficients):
        self.coeffs = coefficients

    def coeff(self, i):
        return self.coeffs[-(i+1)]

    def add(self, other):
        p1 = len(self.coeffs)
        p2 = len(other.coeffs)
        diff = abs(p1 - p2)
        if p1 > p2:
            newV = [sum(i) for i in zip(self.coeffs, [0]*diff+other.coeffs)]
        else:
            newV = [sum(i) for i in zip([0]*diff+self.coeffs, other.coeffs)]                  
        return Polynomial(newV)

    def __add__(self, other):
        return self.add(other).coeffs
Run Code Online (Sandbox Code Playgroud)

这一个工作正常,只是想知道无论如何做更好,更清洁的代码?由于python总是在干净的代码上强调,我想知道有没有办法编写更干净的pythonic代码?

python coding-style

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