如何确定Python模块是否是标准库的一部分?换句话说:是否有与perl核心列表实用程序相当的Python?
我会用它来设定我在开发过程中对可移植性的期望.如果它依赖于实现,我对CPython感兴趣.
我到目前为止找到的最佳答案是:
这是在Python标准库文档的索引页面上搜索模块名称:http://docs.python.org/2/library/.但是,这比使用实用程序更不方便,也没有告诉我任何有关最低要求版本的信息.
我正在尝试使代码漂亮的打印机过滤器(例如perltidy)接受任意选项,具体取决于vim变量.我的目标是将项目特定选项传递给在可视模式下用作过滤器(:!)的外部命令.
以下表达了我的意图(最后一行有问题):
" set b:perltidy_options based on dirname of the currently edited file
function! SetProjectVars()
if match(expand("%:p:h"), "/project-foo/") >= 0
let b:perltidy_options = "--profile=$HOME/.perltidyrc-foo --quiet"
elseif match(expand("%:p:h"), "/project-bar/") >= 0
let b:perltidy_options = "--profile=$HOME/.perltidyrc-bar --quiet"
else
let b:perltidy_options = "--quiet"
endif
endfunction
" first set the project specific stuff
autocmd BufRead,BufNewFile * call SetProjectVars()
" then use it
vnoremap ,t :execute "!perltidy " . b:perltidy_options<Enter>
Run Code Online (Sandbox Code Playgroud)
但是,最后一行(vnoremap)是vim中的错误,因为它扩展为:
:'<,'>execute "!perltidy " . b:perltidy_options
Run Code Online (Sandbox Code Playgroud)
并且execute命令不能接受范围.但我想要这个:
:execute "'<,'>!perltidy " . b:perltidy_options
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
ps我的perltidy被配置为像unix过滤器一样,我使用vim 7.3.