小编LtP*_*ack的帖子

偏执狂,过度日志记录和处理文件的简单脚本上的异常处理.这是正常的吗?

我发现自己将python用于许多文件管理脚本,如下所示.在网上查找示例时,我很惊讶示例中的日志记录和异常处理有多少.每次我写一个新的脚本时,我的意图都不会像下面那样结束,但如果它处理文件,那么无论我的偏执狂接管了什么,最终结果都不像我在网上看到的例子.因为我是新手,我想知道这是否正常.如果没有,那么你如何处理未知和删除有价值信息的恐惧?

def flatten_dir(dirname):
    '''Flattens a given root directory by moving all files from its sub-directories and nested 
    sub-directories into the root directory and then deletes all sub-directories and nested 
    sub-directories. Creates a backup directory preserving the original structure of the root
    directory and restores this in case of errors.
    '''
    RESTORE_BACKUP = False
    log.info('processing directory "%s"' % dirname)
    backup_dirname = str(uuid.uuid4())
    try:
        shutil.copytree(dirname, backup_dirname)
        log.debug('directory "%s" backed up as directory "%s"' % (dirname,backup_dirname))
    except shutil.Error:
        log.error('shutil.Error: Error while trying to …
Run Code Online (Sandbox Code Playgroud)

python logging exception

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

切片列表的行为问题

我有一个像这样的功能

def f():
    ...
    ...
    return [list1, list2]
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表列表

[[list1.item1,list1.item2,...],[list2.item1,list2.item2,...]]
Run Code Online (Sandbox Code Playgroud)

现在我做以下事情:

for i in range(0,2):print f()[i][0:10]
Run Code Online (Sandbox Code Playgroud)

它工作并打印切片列表

但如果我这样做

print f()[0:2][0:10]
Run Code Online (Sandbox Code Playgroud)

然后它打印忽略[0:10]切片的列表.

有没有办法让第二种形式起作用,或者每次都必须循环以获得所需的结果?

python function slice

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

如何从python脚本中控制Windows shell窗口的大小?

从Windows启动脚本类型的python文件时,会得到一个运行脚本的Windows shell类型窗口.脚本如何确定并设置/控制所述窗口的窗口大小,屏幕缓冲区大小和窗口位置?我怀疑这可以用pywin32模块完成,但我找不到如何.

python pywin32 windows-shell

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

标签 统计

python ×3

exception ×1

function ×1

logging ×1

pywin32 ×1

slice ×1

windows-shell ×1