我有python版本3.7.1。
我想将源目录中扩展名为.835的文件同步到目标目录。为什么此代码会覆盖所有文件?
import dirsync
dirsync.sync(source,destination,'sync',verbose=True,only='.*\.835$')
我也尝试过--include选项和模式,如下所示:
import dirsync
pattern = r'.*\.835$'
dirsync.sync(source,destination,'sync',verbose=True,include=pattern)
我该如何解决这个问题?
最佳答案
尝试在正则表达式后添加逗号:
import dirsync
pattern = r'.*\.835$',
dirsync.sync(source, destination, 'sync', verbose=True, include=pattern)
或者:
import dirsync
dirsync.sync(source, destination, 'sync', verbose=True, include=(r'^.*\.wav$',))
如果仍然有问题,则dirsync示例脚本应为您指明正确的方向:https://bitbucket.org/tkhyn/dirsync/src/default/tests/regexfilters.py
我还要确保您知道各种选择的作用。根据使用情况,“仅”可能比“包含”更有用
您可以在这里找到文档:https://bitbucket.org/tkhyn/dirsync/src/default/
--only,-o模式
要包括的正则表达式模式(彼此排除)
--exclude,-e模式
正则表达式模式以排除
--include,-i模式
要包括的正则表达式模式(优先于排除)