用于通过正则表达式操作文件的实用程序。

reFILE的Python项目详细描述


使用python样式的regex列出、重命名和删除文件。

此程序仍处于alpha测试阶段,请确保 定期备份,不要在任何重要文档或文件上使用

安装

在pypi存储库中应该可以使用refile,所以安装应该是 简单如下:

$ pip install reFILE

或者,您可以克隆github存储库并使用setuptools,例如:

$ git clone https://github.com/Sean1708/reFILE.git
$ python setup.py install

refile使用pathlib模块,该模块只暂时支持python 2。 因此,建议您使用python 3下载refile。 尽管如此,refile仍然可以在python 2安装中工作。

问题

如果您发现任何错误或只是有一些问题,请随时打开 在我的github repo开罚单。

或者,如果你喜欢自己修理它,就给我一个拉拽请求。 通过github的diff文件,我很乐意合并您的代码。

我计划把这个包用作一个库,但现在 不确定如何最好地接近它。如果你有任何想法,请随时联系 我。

文档

refile命令行实用程序在 文件;列出与正则表达式匹配的文件,重命名 匹配正则表达式并删除与正则表达式匹配的文件 表达。

用法:

$ refile -h
$ refile ls [-h] [-rqvn] [-L LIM] [-I PAT] PATTERN [DIR]
$ refile mv [-h] [-rqvdif] [-L LIM] [-I PAT] [-m DIR] PATTERN REPLACE [DIR]
$ refile rm [-h] [-rqvdif] [-L LIM] [-I PAT] PATTERN [DIR]

一般用法

避免命令中的变量扩展和特殊字符出现问题 行建议将正则表达式括在单引号中:

$ refile ls '.*'

如果没有引号,这将导致一个名称以开头的所有文件的列表 要传递给refile的句点,这将导致 意外的行为。

如果未指定目录,则搜索当前目录。目录 如果绝对路径是 使用时,文件名将作为绝对路径打印,类似地 相对路径。颚化符扩展在命令行执行,但不在 用单引号将目录括起来的程序是不明智的。

选项

refile中的所有选项都必须在子命令之后指定。许多 选项在子命令之间共享,它们是:

-h, --helpprint a useful help message
-r, --recursesearch directories recursively
-q, --quietsupress all output except errors
-v, --verboseprint extra information
-L LIM, --limit=LIM
maximum depth limit when searching recursively
-I PAT, --ignore=PAT
ignore any files which match the regex PAT

列出文件

用法:

$ refile ls [-h] [-rqvl] [-L LIM] [-I PAT] PATTERN [DIR]

ls子命令列出目录DIR中与 正则表达式PATTERN。在内部,这是使用^{tt5}运行的$ 函数,以便模式可以匹配文件名的任何部分,而不仅仅是开始部分。

选项

-h, --helpprint a useful help message
-n, --no-column
suppress columnated output
-l, --longprint extra information about the files

重命名文件

用法:

$ refile mv [-h] [-rqvdif] [-L LIM] [-I PAT] [-m DIR] [-D FORMAT]
            PATTERN REPLACE [DIR]

mv子命令重命名目录DIR中匹配的任何文件 将正则表达式PATTERN转换为名称RENAME。这是跑步 在内部使用re.sub函数。

如果PATTERN在文件名中多次匹配,则每个匹配将是 替换为字符串REPLACE,前提是匹配项不重叠。如果 正则表达式与整个文件名匹配,然后是PATTERNREPLACE 必须包含组和反向引用,以避免文件相互覆盖。 这在运行时没有检查,因此由用户来确保正确使用。

如果指定了-D选项,则文件的创建时间将为 在重命名发生之前添加到REPLACE字符串之前。这个 FORMAT字符串被传递给time.strftime函数,因此请参考 更多信息。

选项

-h, --helpprint a useful help message
-d, --directories
rename directories
-i, --confirmprompt for confirmation before renaming files
-f, --forcenever prompt for confirmation
-m DIR, --moveto=DIR
move files into directory DIR
-D FORMAT, --date=FORMAT
prepend creation time according to strftime format

删除文件

用法:

$ refile rm [-h] [-rqvdif] [-L LIM] [-I PAT] PATTERN [DIR]

rm子命令删除目录DIR中匹配的所有文件 正则表达式PATTERN。搜索以相同的方式执行lly到 ls子命令是确保删除正确的 文件将首先作为ls运行命令。

选项

-h, --helpprint a useful help message
-d, --directories
delete directories if empty
-i, --confirmprompt for confirmation before deleting files
-f, --forcenever prompt for confirmation

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java线程;创建一个单独的线程来定期执行某些操作   用java将SonarQube升级到5.2失败。util。同时发生的CancellationException:空   在线程对象上调用start时,线程上设置的java优先级无效   java如何在不使用reduce()或last()折叠的情况下获取通量的最后一项   java如何从ArrayList中获取元素?   应用了逻辑的JavaTwitterAPI   在这种情况下,怎样才能不让自己重复?安卓的java   JavaAndroid:线程可运行和处理程序。在run方法中发布问题(Handler.postXX在预期情况下不会按时运行)   java log4j grok与管道故障   使用循环返回命令选项时出现问题/仅运行一个命令(JAVA)   java双重比较问题   使用vertx的JWT公钥/私钥身份验证中的java握手   用Java将WMA和AAC音频转换为MP3   解析字符串java get index   与具有不同数据类型的密钥同名的java JSON