我正在尝试将Ubuntu一个文件同步python脚本修改为不包括.iso之类的内容。

我已经找到了这个文件:/usr/share/pyshared/ubuntuone/u1sync/constants.py

里面是这条代码:

import re

# the name of the directory u1sync uses to keep metadata about a mirror
METADATA_DIR_NAME = u".ubuntuone-sync"

# filenames to ignore
SPECIAL_FILE_RE = re.compile(".*\\.("
                             "(u1)?partial|part|"
                             "(u1)?conflict(\\.[0-9]+)?)$")

如何编辑最后一节(正则是?)并忽略了.iso文件???我很确定这是把它的地方!

可以肯定的是,这是标准的Python动作:)

任何帮助,将不胜感激。

谢谢。

安迪

有帮助吗?

解决方案

ubuntuone应该真正有一个.ignore文件或同样的文件。...我想忽略很多东西... .pyc,.blend1只是为了开始。

更新:它有 - 查看:

https://answers.launchpad.net/ubuntuone-client/+Question/114731

过时的答案:

回答... 。*。是在旧模式的开头,因此要替换:

“(u1)?冲突(。[0-9]+)?)$”)

和:

“(u1)?冲突(。[0-9]+)?| ISO)$”)

应该这样做。

在python中互相列出串只是串联它们,所以这都是一个字符串。

其他提示

Python的正则文档 将是寻找这个地方的地方。

对于ISO,您可能只能添加一个 "|.*\.iso$" 到最后一行。

匹配ISO文件的正则是

".*\\.iso$"

与“ .iso”结尾的任何东西都匹配

思考 您可以将其添加为re.com的另一行,但是一个比我能确认的更好的人。

“你有问题,所以你想'嘿,我只使用正则'。现在你有两个问题”

这是一个 很多 更容易解决您的问题:

def shouldIignore(filename):
    ext = filename.split('.')[-1] # Get the extension
    ignorelist = ('.iso', '.pyc', '.blend1', '.bigfile')
    if ext in ignorelist:
        return True
    return False

这是额外的奖励 - 应该花3分钟?为此扩展以从忽略文件中获取扩展名。

Hth

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top