我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)
所以,我需要2to3
在为Python 3构建时自动运行.为此,我需要使用distribute
.因此,我需要移植当前系统(根据doctest)distutils
.
不幸的是,我不知道什么是这些模块-之间的区别distutils
,distribute
,setuptools
.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.
有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute
顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)
我有字符串,其中包含一个数字,我试图用他们的单词符号替换这个数字(即3 - > 3).我有一个功能,这样做.现在的问题是找到字符串中的数字,同时保持字符串的其余部分完好无损.为此,我选择使用该re.sub
函数,它可以接受"可调用".但是,传递给它的对象是内部的_sre.SRE_Match
,我不知道如何处理它.我的函数接受一个数字或其字符串表示.
我应该如何编写一些辅助函数,可以用来桥接re.sub
调用我的函数进行所需的处理?或者,有没有更好的方法来做我想要的?
在Java中,从String中删除给定字符的最有效方法是什么?目前,我有这个代码:
private static String processWord(String x) {
String tmp;
tmp = x.toLowerCase();
tmp = tmp.replace(",", "");
tmp = tmp.replace(".", "");
tmp = tmp.replace(";", "");
tmp = tmp.replace("!", "");
tmp = tmp.replace("?", "");
tmp = tmp.replace("(", "");
tmp = tmp.replace(")", "");
tmp = tmp.replace("{", "");
tmp = tmp.replace("}", "");
tmp = tmp.replace("[", "");
tmp = tmp.replace("]", "");
tmp = tmp.replace("<", "");
tmp = tmp.replace(">", "");
tmp = tmp.replace("%", "");
return tmp;
}
Run Code Online (Sandbox Code Playgroud)
如果我使用某种StringBuilder,或正则表达式,或者其他东西,会更快吗?是的,我知道:简介并查看,但我希望有人可以提供他们头脑的答案,因为这是一项常见的任务.
我想以递归方式将目录复制到另一个目录.我也想忽略一些文件(例如所有隐藏文件;一切以"."开头),然后在所有其他文件上运行一个函数(复制后).这在shell中很简单,但我需要一个Python脚本.
我尝试使用shutil.copytree,它忽略了支持,但我不知道如何让它在复制的每个文件上执行一个函数.我可能还需要在复制时检查一些其他条件,所以我不能只在复制完所有文件后运行该函数.我也试过看os.walk,但我无法理解.
我有一个算法.我想在某个时候暂停它,然后在用户按下按钮后继续.我怎么做?我浏览了文档,搜索了互联网,但还没有运气.
这是一个相关的代码片段:
if A[i]>A[i+1]
then
begin
Zameni(i,i+1);
done:=true;
sleep(pauza);
br:=br+1;
end;
Run Code Online (Sandbox Code Playgroud)
现在,我使用睡眠(pauza只是一个常数,意味着在塞尔维亚暂停).理想情况下,我想用一个可以间隔睡眠的程序替换该行,或者根据配置设置等待按下按钮.
编辑1:啊,是的,如果它不明显 - 它是一个图形应用程序,而不是控制台,所以拍打"readln"将无法正常工作(遗憾).
python ×3
regex ×2
delphi ×1
distribute ×1
distutils ×1
java ×1
packaging ×1
setuptools ×1
string ×1