我正在学习Python,并且正在学习Codeacademy的课程,但需要尽快使用特定的脚本。
基本上,我正在寻找一种可以在Mac和PC上部署的工具,可以执行以下操作:
此工具将与Cinema4D一起使用,Cinema4D是一种常见的3D图形包。默认情况下,它将所有帧渲染到一个目录,但是当它们放入自己的文件夹时,通常更容易使用各种输出。
查看this .zip文件。它包含一些可以作为试验台的.tif文件。理想情况下,此脚本可以输出名为“RGBA”“Object_01”等的单独文件夹。
在您的帮助下,我想将此工具用于我自己以及整个Cinema4D社区(我会给你信任)。我已经尝试使用this脚本,但无法移动文件。我只能创建文件夹,尽管很笨拙。
答案 0 :(得分:1)
我鞭打了它,交叉发布了它,从那个问题中删除了它,并在这里重新发布,一切都为了你。 :-)这需要'path.py'模块 - pip install path.py
或easy_install path.py
,然后它应该运行。 .. 应该运行,因为它使用操作系统无关的方法 - 但我没有在Windows上试过它。 Pip(及其要求,分发)可以从here下载并安装。
#! /usr/bin/python
# -*- coding: utf8 -*-
import os, sys
from path import path
def main(args):
folder, keyword = path(args[0]), args[1]
if not folder.exists() and folder.isdir():
print str(folder) + " is not a valid folder path."
exit(1)
targets = []
for fpath in folder.files():
if keyword.lower() in fpath.basename().lower():
targets.append(fpath)
if targets:
new_dir = folder / keyword
new_dir.makedirs_p()
if new_dir.exists() and new_dir.isdir():
for fpath in targets:
dest = new_dir / fpath.basename()
print "moving {} to {}".format(str(fpath), dest)
fpath.move(new_dir)
else:
msg = "No files in {} match the keyword {}."
print msg.format(repr(str(folder)), repr(keyword))
if __name__ == "__main__":
args = sys.argv[1:]
help = ('-h', '--help', '/h', '/help', '/?')
if len(args) != 2 or args[0] in help or args[1] in help:
print "Moves files in <path> whose name matches <keyword> into a"
print "subdirectory of <path> named <keyword>"
print "Usage:"
print "{} <path> <keyword>".format(sys.argv[0])
exit(0)
try:
main(args)
except OSError, err:
print "Failed: " + err.strerror
..这是非常快速和肮脏的,并没有太多的帮助,不使用argparse或类似的东西,它没有特殊的选项。
..另一方面,
..如果你在我第一次发布它时抓住它,你可能想再次这样做,因为我已经更新了一点(更好的错误报告和处理)