小编ʞɔı*_*ɔıu的帖子

在PHP中仅允许某些字符

我需要检查变量是否包含除az AZ 0-9和"."之外的任何内容.性格(句号).任何帮助,将不胜感激.

php regex

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

告诉python是否处于-i模式

你怎么知道python是否已经用-i标志启动了?

根据文档,您可以检查os.environ中的PYTHONINSPECT变量,该变量相当于 -i.但显然它不会以同样的方式工作.

作品:

$ PYTHONINSPECT=1 python -c 'import os; print os.environ["PYTHONINSPECT"]'
Run Code Online (Sandbox Code Playgroud)

不起作用:

$ python -i -c 'import os; print os.environ["PYTHONINSPECT"]'
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我有一个脚本,如果某些条件失败,则调用sys.exit(-1).这很好,但有时我想使用-i手动调试它.我想我可以学习使用"PYTHONINSPECT = 1 python"而不是"python -i",但如果有一种通用的方法可以做到这一点会很好.

python

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

机器学习挑战:学习英语发音

假设您要采用CMU的语音数据集输入,如下所示:

ABERRATION  AE2 B ER0 EY1 SH AH0 N
ABERRATIONAL  AE2 B ER0 EY1 SH AH0 N AH0 L
ABERRATIONS  AE2 B ER0 EY1 SH AH0 N Z
ABERT  AE1 B ER0 T
ABET  AH0 B EH1 T
ABETTED  AH0 B EH1 T IH0 D
ABETTING  AH0 B EH1 T IH0 NG
ABEX  EY1 B EH0 K S
ABEYANCE  AH0 B EY1 AH0 N S
Run Code Online (Sandbox Code Playgroud)

(单词在左边,右边是一系列音素,在此处输入键

您想将其用作机器学习系统的训练数据,该系统将使用新单词并猜测它们将如何用英语发音。

至少对我来说不是那么明显,因为没有固定大小的字母可以映射到音素。我觉得与马尔可夫链有关的事情可能是正确的方法。

你会怎么做?

machine-learning phonetics

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

覆盖多属性css声明的一部分

如果我有声明:

h1 {
  background-image: url(a.png), -webkit-linear-gradient(transparent, black), url(b.png);
}
Run Code Online (Sandbox Code Playgroud)

是否有可能只覆盖多个值的一部分,即(伪代码):

h1.foo {
  background-image: default, default, url(c.png);
}
Run Code Online (Sandbox Code Playgroud)

css css3

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

是否有理由偏爱__slots__的列表或元组?

您可以__slots__使用列表或元组(或任何可迭代的?)在新型python类中进行定义。创建实例后,该类型仍然存在。

鉴于元组总是比列表更有效率并且是不变的,是否有任何理由不希望使用元组__slots__呢?

>>> class foo(object):
...   __slots__ = ('a',)
... 
>>> class foo2(object):
...   __slots__ = ['a']
... 
>>> foo().__slots__
('a',)
>>> foo2().__slots__
['a']
Run Code Online (Sandbox Code Playgroud)

python

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

当您的正则表达式引擎不支持时,按\ b拆分

如何在不支持它的正则表达式引擎中按字边界分割?

python的重写可以匹配\ b但似乎不支持拆分它.我似乎记得处理具有相同限制的其他正则表达式引擎.

示例输入:

"hello, foo"
Run Code Online (Sandbox Code Playgroud)

预期产量:

['hello', ', ', 'foo']
Run Code Online (Sandbox Code Playgroud)

实际的python输出:

>>> re.compile(r'\b').split('hello, foo')
['hello, foo']
Run Code Online (Sandbox Code Playgroud)

python regex

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

如何在模块的版本号上引发异常

如何为__version__导入小于或大于给定值的模块时如何引发异常?

有很多不同的方法可以做到,但我觉得必须有一些非常简单的方法让我目前无法理解.在这种情况下,版本号的格式为xxx

python versioning

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

选择字符串中除第一个字符外的所有字符

如何在MySQL中返回字符串减去字符串中的第一个字符?

换句话说,从'你好'得到'ello'.

我能想到的唯一方法是使用mid(),第二个偏移大于字符串可能是:

select mid('hello', 2, 99)
Run Code Online (Sandbox Code Playgroud)

但我确信必须有更优雅的方式来做到这一点.在那儿?

mysql substring

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

在循环中处理bash中的特殊字符

假设我有一个文件列表

file1
"file 1"
file2
Run Code Online (Sandbox Code Playgroud)

for ... in循环在空格之间划分它,而不是换行符:

for x in $( ls ); do
   echo $x
done
Run Code Online (Sandbox Code Playgroud)

结果:

file
1
file1
file2
Run Code Online (Sandbox Code Playgroud)

我想在每个文件上执行命令.上面的"file"和"1"不是实际文件.如果文件名包含空格或逗号等内容,我该怎么办?

它比我想象的有点棘手-print0 | xargs -0可以处理,因为我实际上希望命令类似于"convert input/file1.jpg .... output/file1.jpg",所以我需要在进程中置换文件名.

bash shell command-line

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

使用pyparsing查找以下标记

我正在使用pyparsing来解析HTML.我正在抓取所有embed标签,但在某些情况下,有一个a标签直接跟随我也想抓住它是否可用.

例:

import pyparsing
target = pyparsing.makeHTMLTags("embed")[0]
target.setParseAction(pyparsing.withAttribute(src=pyparsing.withAttribute.ANY_VALUE))
target.ignore(pyparsing.htmlComment)

result = target.searchString(""".....
   <object....><embed>.....</embed></object><br /><a href="blah">blah</a>
   """)
Run Code Online (Sandbox Code Playgroud)

我无法在结果对象中找到任何字符偏移量,否则我只能抓取原始输入字符串的一部分并从那里开始工作.

编辑:

有人问为什么我不使用BeautifulSoup.这是一个很好的问题,让我告诉你为什么我选择不使用代码示例:

import BeautifulSoup
import urllib
import re
import socket

socket.setdefaulttimeout(3)

# get some random blogs
xml = urllib.urlopen('http://rpc.weblogs.com/shortChanges.xml').read()

success, failure = 0.0, 0.0

for url in re.compile(r'\burl="([^"]+)"').findall(xml)[:30]:
    print url
    try:
        BeautifulSoup.BeautifulSoup(urllib.urlopen(url).read())
    except IOError:
        pass
    except Exception, e:
        print e
        failure += 1
    else:
        success += 1


print failure / (failure + success)
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,BeautifulSoup失败了20-30%的解析错误.这些并非罕见的边缘情况.pyparsing是缓慢而繁琐的,但无论我扔什么,它都没有被炸毁.如果我能够更好地使用BeautifulSoup,那么我真的很想知道这一点.

html python parsing pyparsing

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