小编jfs*_*jfs的帖子

如何将具有特定文件扩展名的文件复制到我的python(2.5版)脚本中的文件夹中?

我想将具有特定文件扩展名的文件复制到新文件夹.我知道如何使用os.walk但具体如何使用它?我只在一个文件夹中搜索具有特定文件扩展名的文件(此文件夹有2个子目录,但我在寻找的文件永远不会在这两个子目录中找到,所以我不需要在这些子目录中搜索) .提前致谢.

python copy file

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

为什么等效的Python代码要慢得多

有人可以解释为什么下面这些简单的代码(Euclid算法的实现找到最大的共同点)比Ruby中的等效代码慢3倍?

iter_gcd.py的内容:

from sys import argv,stderr

def gcd(m, n):
    if n > m:
        m, n = n, m
    while n != 0:
        rem = m % n
        m = n
        n = rem
    return m

# in Python3 code there is xrange replaced with range function
def main(a1, a2):
    comp = 0
    for j in xrange(a1, 1, -1):
        for i in xrange(1, a2):
            comp += gcd(i,j)

    print(comp)

if __name__ == '__main__':
    if len(argv) != 3:
        stderr.write('usage: {0:s} num1 num2\n'.format(argv[0]))
        exit(1) …
Run Code Online (Sandbox Code Playgroud)

ruby python python-3.x

19
推荐指数
3
解决办法
4145
查看次数

如何在文件中存储哈希表?

如何在磁盘上的文件中存储具有单独链接的哈希表?

在运行时生成存储在哈希表中的数据是昂贵的,从磁盘加载HT会更快......如果我能弄清楚如何做到这一点.

编辑:查找是在内存中加载的HT完成的.我需要找到一种方法将哈希表(在内存中)以某种二进制格式存储到文件中.因此,下次程序运行时,它可以将HT磁盘加载到RAM中.

我正在使用C++.

c++ algorithm serialization hashtable data-structures

17
推荐指数
4
解决办法
9085
查看次数

从字符串的开头删除n个字符

我想从字符串中删除第一个字符.有这样的功能吗?

>>> a = "BarackObama"
>>> print myfunction(4,a)
ckObama
>>> b = "The world is mine"
>>> print myfunction(6,b)
rld is mine
Run Code Online (Sandbox Code Playgroud)

python string

17
推荐指数
3
解决办法
5万
查看次数

有效"缩放"或"调整"数字数组的算法(音频重采样)

进行音频处理(虽然它也可以是图像处理)我有一个数字的一​​维数组.(它们恰好是代表音频样本的16位有符号整数,这个问题可以适用于不同大小的浮点数或整数.)

为了匹配不同频率的音频(例如,将44.1kHz样本与22kHz样本混合),我需要拉伸或压缩值数组以满足特定长度.

将数组减半很简单:丢弃其他每个样本.

[231, 8143, 16341, 2000, -9352, ...] => [231, 16341, -9352, ...]
Run Code Online (Sandbox Code Playgroud)

将数组宽度加倍稍微简单:将每个条目加倍(或者可选地在相邻的"实际"样本之间执行一些插值).

[231, 8143, 16341, 2000, -9352, ...] => [231, 4187, 8143, 12242, 16341, ...]
Run Code Online (Sandbox Code Playgroud)

我想要的是一种处理任何缩放因子的高效,简单的算法,并且(理想情况下)可选地支持在该过程中执行一种或另一种插值.

我的用例恰好是使用Ruby数组,但我很乐意在大多数语言或伪代码中获取答案.

ruby language-agnostic arrays algorithm audio

17
推荐指数
2
解决办法
2535
查看次数

Python装饰器? - 有人可以解释一下吗?

道歉这是一个非常广泛的问题.

下面的代码是网络上发现的一些内容.我感兴趣的关键是从@protected开始的行 - 我想知道这是做什么以及它是如何做到的?它似乎是在执行do_upload_ajax函数之前检查有效用户是否已登录.这看起来像是一种非常有效的用户身份验证方式.我不明白这个@函数的机制 - 有人能引导我朝着正确的方向解释如何在现实世界中实现它吗?Python 3请回答.谢谢.

@bottle.route('/ajaxupload', method='POST')
@protected(check_valid_user) 
def do_upload_ajax():
    data = bottle.request.files.get('data')
    if data.file:
        size = 0
Run Code Online (Sandbox Code Playgroud)

python python-3.x

17
推荐指数
5
解决办法
8994
查看次数

捕获崩溃的子进程的"分段错误"消息:在调用communication()之后没有out和err

我在使用子进程模块获取崩溃程序的输出时遇到问题.我正在使用python2.7和subprocess来调用带有奇怪参数的程序以获得一些段错误为了调用程序,我使用以下代码:

proc = (subprocess.Popen(called,
                         stdout=subprocess.PIPE,
                         stderr=subprocess.PIPE))
out,err=proc.communicate()
print out,err
Run Code Online (Sandbox Code Playgroud)

called是一个包含程序名称和参数的列表(一个包含随机字节的字符串,除了子进程根本不喜欢的NULL字节)

当程序没有崩溃时代码表现并向我显示stdout和stderr,但是当它崩溃时,out和err是空的而不是显示着名的"Segmentation fault".

即使程序崩溃,我希望找到一种方法来获取和错误.

希望有人在这里作为一个想法:)

PS:我也尝试过check_output/call/check_call方法

编辑:

  • 我在一个python虚拟环境中的Archlinux 64位上运行这个脚本(这里不应该是重要的东西,但你永远不会知道:p)

  • segfault发生在我正在尝试运行的C程序中,是缓冲区溢出的结果

  • 问题是当发生段错误时,我无法获得子进程发生的输出

  • 我得到了正确的返回码:-11(SIGSEGV)

  • 使用python我得到:

     ./dumb2 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
     ('Exit code was:', -11) 
     ('Output was:', '') 
     ('Errors were:', '')
    
    Run Code Online (Sandbox Code Playgroud)
  • 在python外面,我得到:

    ./dumb2 $(perl -e "print 'A'x50")  
    BEGINNING OF PROGRAM 
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    END OF THE PROGRAM
    Segmentation fault (core dumped)
    
    Run Code Online (Sandbox Code Playgroud)
  • shell的返回值是相同的:echo $?返回139所以-11($?&128)

python subprocess fuzzing segmentation-fault communicate

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

递归计算支配树的有效方法?

我正在使用具有路径压缩的Lengauer和Tarjan算法来计算有数百万个节点的图的支配树.算法非常复杂,我不得不承认我没有花时间完全理解它,我只是使用它.现在我需要计算根节点的直接子节点的支配树,并可能将图形向下递减到重复此操作的某个深度.即,当我为根节点的子节点计算支配树时,我想假装根节点已从图中移除.

我的问题是,是否有一个有效的解决方案,利用已经在根节点的初始支配树中计算的直接支配者信息?换句话说,我不想从头开始为每个孩子,因为整个过程非常耗时.

天真地看起来一定是可能的,因为在图表的内部会有很多节点,这些节点在它们之上只有一点点,并且不受图形顶部变化的影响.

顺便说一句:在统治者树的主题是由编译人员"拥有"并且在经典图论的书中没有提到它,这是奇怪的.我正在使用它的应用程序 - 我的FindRoots java堆分析器 - 与编译器理论无关.

澄清:我在这里谈论有向图.我所指的"根"实际上是具有最大可达性的节点.我已经更新了上面的文本,用"graph"替换了对"tree"的引用.我倾向于将它们视为树木,因为形状主要是树等.该图实际上是java堆中的对象,您可以想象它是合理的层次结构.我发现主导树在进行OOM泄漏分析时很有用,因为你感兴趣的是"是什么让这个物体保持活力?" 答案最终是它的统治者.支配树允许你<ahem>看到木头而不是树木.但有时很多垃圾漂浮在树顶,所以你有一个直接在它下面有数千个孩子的根.对于这样的情况,我想尝试计算根植于根的每个直接子节点(在原始图形中)的支配树,然后可以进入下一级别,依此类推.(我试着暂时不担心反向链接的可能性:)

algorithm compiler-theory graph-theory

16
推荐指数
1
解决办法
2941
查看次数

`xrange(2**100)` - > OverflowError:long int太大而无法转换为int

xrange 函数不适用于大整数:

>>> N = 10**100
>>> xrange(N)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
>>> xrange(N, N+10)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

>>> N = 10**100
>>> r = range(N)
>>> r = range(N, N+10)
>>> len(r)
10
Run Code Online (Sandbox Code Playgroud)

range()Python 2.x 有py3k内置函数的后端吗?

编辑

我正在寻找一个完整的"懒惰"实现range(),而不只是部分实现它的一些功能.

python range biginteger xrange python-3.x

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

在python3中执行终端命令

我在Raspberry Pi上,我正在使用一个叫做的程序fswebcam,它允许你用网络摄像头拍照.

~$ fswebcam image.jpg
Run Code Online (Sandbox Code Playgroud)

如果在终端输入该命令拍摄照片并将其保存到您的计算机,但是我想构建一个简单的python程序,它可以访问终端并执行与上面列出的相同的命令.

我试过import os并使用os.system('fswebcam image.jpg')但它不适合我.

我怎么能有python执行终端命令?

python subprocess python-3.x raspberry-pi raspbian

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