小编tzo*_*zot的帖子

如何查看目录的子文件是否已更改

在Windows中,是否有一种简单的方法来判断文件夹是否有更改的子文件?

我验证了,当子文件更改时,文件夹上的最后修改日期不会更新.

我可以设置一个可以修改此行为的注册表项吗?

如果重要,我正在使用NTFS卷.

我最终希望从C++程序中获得这种能力.

递归扫描整个目录对我来说不起作用,因为文件夹太大了.

更新:我确实需要一种方法来实现这一点,而不会在更改发生时运行进程.因此,安装文件系统观察器对我来说并不是最佳选择.

Update2:存档位也不起作用,因为它与上次修改日期有同样的问题.将设置文件的存档位,但文件夹不会.

c++ windows filesystems ntfs

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

在Python中获取其他正在运行的进程窗口大小

这并不像听起来那么恶意,我想获得他们当前的窗户大小,而不是看他们的内容.目的是弄清楚如果每个其他窗口都是全屏的,那么我也应该这样开始.或者,如果所有其他进程只有800x600,尽管有一个巨大的分辨率,那么这可能是用户想要的.为什么让他们浪费时间和精力调整窗口大小以匹配他们拥有的所有其他人?我主要是一个Windows devoloper,但如果有一个跨平台的方法,它不会让我感到不安.

python windows winapi pywin32

7
推荐指数
2
解决办法
9568
查看次数

有没有任何脚本SVG编辑器?

我想使用一些脚本语言(最好是Python)编辑SVG文件.特别是,我想合并两个SVG文件,添加一些注释,并将它们排列在一个更大的图像中.有没有可用于此类目的的软件?

谢谢,

巴尔托什

UPDATE

我终于决定使用nosklo提出的方法.你可以在github repo上找到SVG处理python模块的代码.我还在这篇文章中描述了如何使用它

python svg vector-graphics

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

Ruby Regular Expression中的符号组名称(如Python中)

在Python中遇到了这个方便的正则表达式实用程序(我是Python的初学者).例如,使用正则表达式

(?P<id>[a-zA-Z_]\w*)
Run Code Online (Sandbox Code Playgroud)

我可以将匹配的数据称为

m.group('id')
Run Code Online (Sandbox Code Playgroud)

(完整文档:在这里查找"符号组名称" )

在Ruby中,我们可以使用$1, $2或使用MatchData对象(m[1], m[2]等)访问匹配的引用.在Ruby中有类似于Python的Symbolic Group Names吗?

ruby python regex

7
推荐指数
2
解决办法
3983
查看次数

整数的位反转,忽略整数大小和字节顺序

给定一个整数typedef:

typedef unsigned int TYPE;
Run Code Online (Sandbox Code Playgroud)

要么

typedef unsigned long TYPE;
Run Code Online (Sandbox Code Playgroud)

我有以下代码来反转整数的位:

TYPE max_bit= (TYPE)-1;

void reverse_int_setup()
{
    TYPE bits= (TYPE)max_bit;

    while (bits <<= 1)
        max_bit= bits;
}

TYPE reverse_int(TYPE arg)
{
    TYPE    bit_setter= 1, bit_tester= max_bit, result= 0;

    for (result= 0; bit_tester; bit_tester>>= 1, bit_setter<<= 1)
        if (arg & bit_tester)
            result|= bit_setter;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

首先需要运行reverse_int_setup(),它存储一个打开最高位的整数,然后对reverse_int(arg)的任何调用返回arg,其位反转(用作二叉树的一个键,取自一个增加反击,但这或多或少无关紧要).

在调用reverse_int_setup()之后,是否存在一种与平台无关的方法在编译时为max_int提供正确的值; 否则,是否有一个算法比你对reverse_int()更好/更精简

谢谢.

c integer bit-manipulation

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

从光学介质中恢复,忽略读取错误

我备份了以光学媒体(CD和DVD)存档的文件.这些都有par2恢复文件,存储在不同的媒体上.即使在没有par2文件的情况下,在一个光驱上读取时的轻微错误也可以在另一个驱动器上正常读取.

问题是,当读取错误的媒体时,读取时间非常长,因为设备往往会多次重试.

问题是:我如何控制重试次数(即设置为不重试或只尝试一次)?一些系统调用?我可以下载的库吗?我是否必须处理SCSI层?

问题主要是关于Linux,但任何Win32指针都会受到欢迎.

linux windows recovery optical-drive system-calls

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

在Python输出中引用POSIX shell特殊字符

有时候我会自动从Python创建小的shell脚本,我想确保文件名参数不包含非转义的特殊字符.我已经推出了自己的解决方案,我将作为答案提供,但我几乎可以肯定,我已经看到这样的功能在标准库中丢失了."丢失"我的意思是我没有在一个明显的模块中找到它shlex,cmd或者subprocess.

你知道stdlib中有这样的功能吗?如果是的话,它在哪里?

即使是负面(但明确和正确)的答案也将被接受.

python shell posix escaping special-characters

6
推荐指数
1
解决办法
2475
查看次数

比较两个窗口路径,一个包含代字号,在python中

我正在尝试在程序中使用TMP环境变量.当我要求

tmp = os.path.expandvars("$TMP")
Run Code Online (Sandbox Code Playgroud)

我明白了

C:\Users\STEVE~1.COO\AppData\Local\Temp
Run Code Online (Sandbox Code Playgroud)

其中包含老派,波浪形式.我无法控制返回路径的函数

C:\Users\steve.cooper\AppData\Local\Temp\file.txt
Run Code Online (Sandbox Code Playgroud)

我的问题是这个; 我想检查文件是否在我的临时驱动器中,但我找不到比较它们的方法.你怎么知道这两个Windows目录;

C:\Users\STEVE~1.COO\AppData\Local\Temp
C:\Users\steve.cooper\AppData\Local\Temp
Run Code Online (Sandbox Code Playgroud)

是相同的?

python windows directory path string-comparison

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

在Python中将十六进制字符串表示转换为实际字节

我需要将此文本文件的第三列作为十六进制字符串加载

http://www.netmite.com/android/mydroid/1.6/external/skia/emoji/gmojiraw.txt

>>> open('gmojiraw.txt').read().split('\n')[0].split('\t')[2]
'\\xF3\\xBE\\x80\\x80'
Run Code Online (Sandbox Code Playgroud)

我如何打开文件,以便我可以将第三列作为十六进制字符串:

'\xF3\xBE\x80\x80'
Run Code Online (Sandbox Code Playgroud)

我也试过二进制模式和十六进制模式,没有成功.

python hex representation

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

函数中带有time.sleep()的sys.stdout.write()问题

我想要的是使用time.sleep()打印出每秒打印一个点的5个点,但结果是在延迟5秒后立刻打印了5个点.
尝试了print和sys.stdout.write,结果相同.

感谢您的任何建议.

import time
import sys

def wait_for(n):
    """Wait for {n} seconds. {n} should be an integer greater than 0."""
    if not isinstance(n, int):
        print 'n in wait_for(n) should be an integer.'
        return
    elif n < 1:
        print 'n in wait_for(n) should be greater than 0.'
        return
    for i in range(0, n):
        sys.stdout.write('.')
        time.sleep(1)
    sys.stdout.write('\n')

def main():
    wait_for(5)    # FIXME: doesn't work as expected

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print '\nAborted.'
Run Code Online (Sandbox Code Playgroud)

python buffering

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