我写了一个简单的Python脚本来将中文标点符号翻译成英文.
import codecs, sys
def trcn():
tr = lambda x: x.translate(str.maketrans("""?????????????????“”‘’????…—×""", """,.!?;:,()[][][][]""''<>~$^-*"""))
out = codecs.getwriter('utf-8')(sys.stdout)
for line in sys.stdin:
out.write(tr(line))
if __name__ == '__main__':
if not len(sys.argv) == 1:
print("usage:\n\t{0} STDIN STDOUT".format(sys.argv[0]))
sys.exit(-1)
trcn()
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
但是UNICODE出了点问题.我无法通过它.错误消息:
Traceback (most recent call last):
File "trcn.py", line 13, in <module>
trcn()
File "trcn.py", line 7, in trcn
out.write(tr(line))
File "C:\Python31\Lib\codecs.py", line 356, in write
self.stream.write(data)
TypeError: must be str, not bytes
Run Code Online (Sandbox Code Playgroud)
之后,我在IDLE和Console中测试out.write().他们产生了不同的结果 我不知道为什么.
在IDLE
Python 3.1.2 (r312:79149, Mar 21 …Run Code Online (Sandbox Code Playgroud) 这是lxml 文档中的一个示例:
>>> regexpNS = "http://exslt.org/regular-expressions"
>>> find = etree.XPath("//*[re:test(., '^abc$', 'i')]",
... namespaces={'re':regexpNS})
>>> root = etree.XML("<root><a>aB</a><b>aBc</b></root>")
>>> print(find(root)[0].text)
aBc
Run Code Online (Sandbox Code Playgroud)
我想将re:test()函数导入默认命名空间,这样我就可以在没有前缀的情况下调用它re:。我该怎么做?谢谢!
我尝试使用Vim绘制类图.
我用白色空格填充编辑器窗口.
键入:匹配SpellBad /\s /以突出显示所有空格.
Ctrl+ Q选择垂直白色空格.
Shift+ I插入Bar(|)然后Esc
...........................
v+ l+ ... + l选择水平白色空格
但我不知道如何将所有选定的水平空格更改为下划线(_).
我必须达到_ser伐时间.
当来到长水平线时,它很糟糕.
___________ ___________
| | | |
| BaseClass |/__________| Client |
|___________|\ |___________|
/_\
|
|____________________________________
| | |
_____|_____ _____|_____ _____|_____
| | | | | |
| SubClass1 | | SubClass2 | | SubClass3 |
|___________| …Run Code Online (Sandbox Code Playgroud) file.txt的
abc123
456efg
hi789j
Run Code Online (Sandbox Code Playgroud)
命令
:set hlsearch
/\d\+
Run Code Online (Sandbox Code Playgroud)
我想将突出显示的文本复制到剪贴板(或注册):
123
456
789
Run Code Online (Sandbox Code Playgroud)
就像
egrep -o '[0-9]+' file.txt
Run Code Online (Sandbox Code Playgroud)
谢谢.
有时,我想解析HTML以提取URL.
我找到了[html.parser.HTMLParser],[re.match]都可以做到这一点.
我想知道哪个更快.
是否有像jquery解析HTML 的python模块?
如果您有更好的解决方案,请发表评论.
谢谢
lxml非常好.它使工作变得非常简单.
>>>for url in parse(urlopen('http://www.stackoverflow.com')).getroot().find_class('question-hyperlink'): print(url.get('href'))
Run Code Online (Sandbox Code Playgroud) 我的键盘布局(第2行):
`1...0-=Backspace
我要地图函数调用Ctrl+ 0,-,=.
这是我创建的功能:
" it doesn't work
nnoremap <C-=> :call IncFontSize(+1)<CR>
" it works
nnoremap <C--> :call IncFontSize(-1)<CR>
" it doesn't work
nnoremap <C-0> :call IncFontSize(0)<CR>
fun! IncFontSize(inc)
if !exists('+guifont')
return
endif
let s:defaultfont = 'Ubuntu Mono 12'
if a:inc==0 || empty(&guifont)
let &guifont = s:defaultfont
return
endif
let &guifont = substitute(&guifont, '\d\+$', '\=submatch(0)+'.a:inc, '')
endfun
Run Code Online (Sandbox Code Playgroud)
如何将函数调用映射到这些键?
我有多行数据都共享相同的公司ID.
有没有办法使用SQL Server Management Studio 2005"汇总"所有金额,以便为每个公司ID提供一行数据?
例如,我目前有以下数据......
Company_Name Company_ID Amount
Company 6 10024 120
Company 6 10024 569
Company 6 10024 53
Company 6 10024 100
Company 6 10024 564
Company 7 10638 9500
Company 7 10638 105
Company 7 10638 624
Run Code Online (Sandbox Code Playgroud)
我想尝试得到的是.......
Company_ Name Company_ID Amount
Company 6 10024 1406
Company 7 10638 10229
Run Code Online (Sandbox Code Playgroud)
有办法做到这一点吗?
任何指示我正确方法的建议都会很棒.
谢谢,
阅读vim doc后*:bar* *:\bar*:
'|'可用于分隔命令,因此您可以在一行中提供多个命令.
我尝试通过此命令清除历史记录:
:set history=0 | set history=20
Run Code Online (Sandbox Code Playgroud)
我希望,这两个命令应该逐个执行,并且应该清除历史记录.
但事实并非如此.历史仍然存在,并增加了新的历史.
然后我尝试了:
:set history=0
:set history=20
Run Code Online (Sandbox Code Playgroud)
有用.
为什么?
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("remove %s\n", argv[0]);
remove(argv[0]);
printf("rename %s to %s\n", argv[1], argv[2]);
rename(argv[1], argv[2]);
}
$g++ hello.cpp -o hello
$touch tmp
$./hello tmp temp
remove ./hello
rename tmp to temp
Run Code Online (Sandbox Code Playgroud)
为什么可能?
在Dockerfile中,RUN有2种形式:
RUN <command> (该命令在shell中运行 - /bin/sh -c - shell形式)RUN ["executable", "param1", "param2"] (执行形式)如何编码>,>>,<,&& ||作为高管的形式?
这是一个非常简单的dockerfile.我想重写RUN <command>为exec表单.
但我不知道怎么做.
# Dockerfile
FROM ubuntu:14.04
RUN date > /tmp/out && echo 'hello world' >> /tmp/out
CMD cat /tmp/out
Run Code Online (Sandbox Code Playgroud)