小编VPe*_*ric的帖子

分布,distutils,setuptools和distutils2之间的差异?

情况

我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)

所以,我需要2to3在为Python 3构建时自动运行.为此,我需要使用distribute.因此,我需要移植当前系统(根据doctest)distutils.


问题

不幸的是,我不知道什么是这些模块-之间的区别distutils,distribute,setuptools.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.


问题

有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)

python packaging distutils setuptools distribute

588
推荐指数
3
解决办法
8万
查看次数

在Python中将函数传递给re.sub

我有字符串,其中包含一个数字,我试图用他们的单词符号替换这个数字(即3 - > 3).我有一个功能,这样做.现在的问题是找到字符串中的数字,同时保持字符串的其余部分完好无损.为此,我选择使用该re.sub函数,它可以接受"可调用".但是,传递给它的对象是内部的_sre.SRE_Match,我不知道如何处理它.我的函数接受一个数字或其字符串表示.

我应该如何编写一些辅助函数,可以用来桥接re.sub调用我的函数进行所需的处理?或者,有没有更好的方法来做我想要的?

python regex

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

从Java中的字符串中有效删除特定字符(一些标点符号)?

在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,或正则表达式,或者其他东西,会更快吗?是的,我知道:简介并查看,但我希望有人可以提供他们头脑的答案,因为这是一项常见的任务.

java regex string

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

通过在Python中跳过某些目录来递归复制文件?

我想以递归方式将目录复制到另一个目录.我也想忽略一些文件(例如所有隐藏文件;一切以"."开头),然后在所有其他文件上运行一个函数(复制后).这在shell中很简单,但我需要一个Python脚本.

我尝试使用shutil.copytree,它忽略了支持,但我不知道如何让它在复制的每个文件上执行一个函数.我可能还需要在复制时检查一些其他条件,所以我不能只在复制完所有文件后运行该函数.我也试过看os.walk,但我无法理解.

python

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

如何暂停程序执行直到按下按钮?

我有一个算法.我想在某个时候暂停它,然后在用户按下按钮后继续.我怎么做?我浏览了文档,搜索了互联网,但还没有运气.

这是一个相关的代码片段:

      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"将无法正常工作(遗憾).

delphi

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

标签 统计

python ×3

regex ×2

delphi ×1

distribute ×1

distutils ×1

java ×1

packaging ×1

setuptools ×1

string ×1