Ubuntu One 文件夹同步过滤器
我正在尝试修改Ubuntu One文件同步的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操作 :)
任何帮助都非常感谢。
谢谢!
安迪
4 个回答
1
用来匹配iso文件的正则表达式是:
".*\\.iso$"
这个表达式可以匹配任何以“.iso”结尾的文件。
我觉得你可以把这个作为另一个行添加到re.compile的调用中,但我不太懂Python,可能需要更懂的人来确认一下。
3
你可以去查看Python的正则表达式文档,那里有你需要的信息。
如果是处理.iso文件,你可以在最后一行加上一个"|.*\.iso$"
。
2
UbuntuOne 应该有一个 .ignore 文件,或者类似的东西……我想忽略很多文件,比如 .pyc 和 .blend1,这只是个开始。
更新:它确实有这个功能——你可以看看:
https://answers.launchpad.net/ubuntuone-client/+question/114731
过时的回答:
要回答这个问题…… .*\\. 是旧模式的开头,所以把:
"(u1)?conflict(\.[0-9]+)?)$")
替换成:
"(u1)?conflict(\.[0-9]+)?|iso)$")
应该就可以了。
在 Python 中,把字符串一个接一个列出来就是把它们连接起来,所以最后变成一个完整的字符串。