我的问题是我想用另一个python文件中的参数执行python文件以获取返回的值....如何使用另一个python脚本文件中的参数执行python脚本文件
我不知道我是否很好地解释它...
例如:
从壳我执行此:
getCameras.py "path_to_the_scene"
,这回我的摄像机列表.. ..
那么我怎样才能从另一个脚本调用这个脚本(包括参数)???
我一直想通过阅读其他一些问题来解决这个问题,但是我没搞清楚,应该使用execfile()函数吗?如何?
预先感谢帮助像我这样的新手!
好的,看看你的答案后,我必须编辑我的问题,使它更简洁,因为我不明白一些答案(对不起,就像我说我是新手!!!):
嗯,我有这2个脚本“getMayaCameras.py”和“doRender.py”和一个叫做“renderUI.py”,它实现了GUI中的前两个脚本。
“getMayaCameras.py”和“doRender.py”都是可以通过添加参数(或标志,在“doRender.py”情况下)直接从系统shell执行的摘要,如果可能,我想仍然有这种可能性,所以我可以选择执行用户界面或从shell直接执行脚本
我已经做了一些修改,使他们能够通过从“renderUI.py”脚本中导入它们进行工作但现在它们不能自行工作......
所以有可能让这些脚本自己工作,仍然有可能从另一个脚本调用它们吗?究竟如何?这“分开逻辑从命令行参数处理”,你告诉我之前听起来不错,但我不知道如何执行它在我的脚本(我试过,但没有成功)....
这就是为什么我在这里发布原始代码给你,看看我是如何做到这一点的,既可以让评论家也可以和/或更正代码来解释我应该如何让脚本正常工作......
再次#!/usr/bin/env python
import re,sys
if len(sys.argv) != 2:
print 'usage : getMayaCameras.py <path_to_originFile> \nYou must specify the path to the origin file as the first arg'
sys.exit(1)
def getMayaCameras(filename = sys.argv[1]):
try:
openedFile = open(filename, 'r')
except Exception:
print "This file doesn't exist or can't be read from"
import sys
sys.exit(1)
cameras = []
for line in openedFile:
cameraPattern = re.compile("createNode camera")
cameraTest = cameraPattern.search(line)
if cameraTest:
cameraNamePattern = re.compile("-p[\s]+\"(.+)\"")
cameraNameTest = cameraNamePattern.search(line)
name = cameraNameTest.group(1)
cameras.append(name)
openedFile.close()
return cameras
getMayaCameras()
感谢,
大卫
我不明白这一点,用这种方法,你仍然可以用shell中的args调用脚本吗?无论如何,我试图在我的脚本中实现它没有成功,请你能做到这一点用我留在这里的脚本,我可以用它作为例子吗? – user497457 2010-11-20 23:02:54
不起作用... – user1701047 2013-03-12 16:30:25