小编Jul*_*val的帖子

使用交替运算符匹配多个正则表达式模式?

我使用Python Regex遇到了一个小问题.

假设这是输入:

(zyx)bc
Run Code Online (Sandbox Code Playgroud)

我想要实现的是获得括号中的任何内容作为单个匹配,以及任何外部的char作为单独的匹配.期望的结果将是:

['zyx','b','c']
Run Code Online (Sandbox Code Playgroud)

应保持比赛顺序.

我试过用Python 3.3获得这个,但似乎无法弄清楚正确的正则表达式.到目前为止,我有:

matches = findall(r'\((.*?)\)|\w', '(zyx)bc')
Run Code Online (Sandbox Code Playgroud)

print(matches) 产生以下结果:

['zyx','','']
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

python regex regex-alternation

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

libpng警告:在Python/PyGame中使用png_read_image时应该打开隔行处理

我正在使用PyGame for Python,并在加载.png图像时收到以下警告pygame.image.load:

libpng warning: Interlace handling should be turned on when using png_read_image
Run Code Online (Sandbox Code Playgroud)

它不会影响程序,但变得特别烦人.我在网上搜索无济于事的答案.

我目前正在使用32位Python 3.3和PyGame 1.9.2

关于如何让警告消失的任何想法?

python pygame libpng python-3.x

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

如何在GitHub for Windows上更改本地存储库名称

我目前正在使用GitHub for Windows来跟踪一些本地存储库.但是,我遇到了一个小问题:每当我将要跟踪的文件夹拖放到UI中时,repo会自动获取文件夹的名称.

例如,以下repo基于名为"v2"的文件夹:

示例回购名称

如何在不修改目标文件夹的情况下更改仓库名称以更好地反映项目名称?

万分感谢!

git github-for-windows

7
推荐指数
1
解决办法
2469
查看次数

Windows Dir命令 - 按大小排序子目录

如何使用dir命令从最大到最小显示文件夹的子目录?

我尝试过使用dir /O:-S命令,虽然它对文件进行了很好的排序,但它似乎没有订购子目录.

理想情况下,命令应该能够达到几个级别; 其中一些子文件夹有自己的文件夹.例如:

D:/
|-- Folder 1
    |-- Subfolder 1
    +-- Subfolder 2
        |--Another folder
+-- Folder 2
Run Code Online (Sandbox Code Playgroud)

假设文件夹1(包括其子文件夹中的所有文件)的总大小为10GB,而文件夹2的总大小为15GB,我将如何输出按总内容大小排序的订单?

94932485 Folder 2
6453445  Folder 1
Run Code Online (Sandbox Code Playgroud)

提前致谢!

windows command-line dir windows-8

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

在while循环中使用scanf函数

我正在尝试为编程分配格式化以空格分隔的用户输入.

本质上,输入由任意数量的表达式组成

L integer integer integer integerC integer integer integer.

例如:L 1 1 5 7 C 4 5 3.

到目前为止,我已经设法根据初始字符提取整数,并可以使用scanf函数迭代字符串:

char a;
while(scanf("%c", &a) == 1){
    if(a == 'C'){
        int inputX, inputY, inputR;
        scanf("%d %d %d", &inputX, &inputY, &inputR);
        printf("%d %d %d\n", inputX, inputY, inputR);
    }
    else if(a == 'L'){
        int x1, y1, x2, y2;
        scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
        printf("%d %d %d %d\n", x1, y1, x2, y2);
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,虽然这会输出所需的整数,但循环(和用户输入提示)不会终止.

有人可以告诉我为什么会这样吗?

c scanf while-loop c89

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

从函数返回struct变量而不创建中间变量的简写

我已经开始学习C89,并且正在深入研究结构.我的问题最好通过一个例子来解释.

想象一下这段代码:

typedef struct {
  int x, y, r;
} Circle;

Circle createCircle(int x, int y, int r){
  Circle create = {x, y, r};
  return create;
}

int main(void){
  Circle coords = createCircle(3, 2, 1);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我create在函数createCircle中创建一个变量,然后将其返回到main函数.我想知道是否存在某种形式的速记来省略这个中间步骤,例如:

Circle createCircle(int x, int y, int r){
  return Circle {x, y, r};
}
Run Code Online (Sandbox Code Playgroud)

当然,上述方法不起作用,但它应该让您了解我想要实现的目标.这是可能的,还是我最好先创建一个变量?

谢谢!

c struct typedef return function

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