![]() |
1
2
根据我的经验,最好的出发点是构建一个遵循基本Unix原则的工具——也就是说,从标准输入读取并写入标准输出。这使人们可以灵活地使用您的工具:
在详细模式下,工具不应该写入标准输出,因为这会与上面的核心原则相冲突。它应该写入标准错误或用户定义的日志文件。
然后,添加递归行为。这里的方向不太明确,但我会抛出一些想法。在典型的递归情况下,程序的参数可能是目录,用户需要提供其他选项来定义各种类型的过滤行为(即,要处理的文件类型)。
|
![]() |
2
1
为了解决您问题中的全局性问题,您列表中的一个奇怪的人实际上支持Windows。UNIX的方法,也是一个很好的方法,就是让shell处理globbing。你只需要一个文件列表。我不知道UNIX工具自己做什么globbing(在这样的基本情况下)。我建议你也不要自己动手,而是依靠贝壳。 在Windows上,您可以让人们使用带有Cygwin的shell,或者类似的东西。当然,Windows用户通常会避开命令行,因此如果你构建一个GUI,他们也会很高兴。
那不包括你的钱
而且,正如你所说,你可以随时使用
|
![]() |
3
1
另外,我认为你也在寻找这样的东西: http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
|
![]() |
4
0
递归处理通常使用 os.path.walk ,但是您可以创建自己的版本来使用Python生成器,这对命令行友好得多:管道将在处理时获得输出。这里是 a tested and documented proof of concept . 使用python3,您不必像它提供的那样去做 os.walk 创造了一个发电机。 然后,按照FM的建议使用创建CLI接口 optparse . |
|
pcsksa5 · 从AnyLogic内部调用命令行 1 年前 |
![]() |
w113msh · 提取未设置脚本的变量名 1 年前 |
![]() |
FangQ · 如何使用jq打印由制表符“\t”分隔的JSON数组元素 1 年前 |
![]() |
js0110 · 这个问题的输出和推理是否正确? 2 年前 |