小编use*_*457的帖子

如何使用另一个python脚本文件中的参数执行python脚本文件

我的问题是我想用另一个python文件中的参数执行一个python文件来获取返回的值....

我不知道我是否解释得很好......

例:

从shell我执行这个:

          getCameras.py "path_to_the_scene"
Run Code Online (Sandbox Code Playgroud)

这给我一个相机清单....

那怎么能从另一个脚本调用这个脚本(包括参数)?

我一直试图通过阅读其他一些问题来解决这个问题,但是我没有把它弄好,我应该使用execfile()函数吗?怎么样?

在此先感谢帮助像我这样的新手!

好的,看看你的答案后,我必须编辑我的问题,使其更简洁,因为我不明白一些答案(抱歉,就像我说我是新手!!!):

好吧,我有两个脚本"getMayaCameras.py"和"doRender.py",另外一个叫做"renderUI.py",用于实现GUI中的前两个脚本.

"getMayaCameras.py"和"doRender.py"都是可以通过添加参数(或"doRender.py"情况下的标志)直接从系统shell执行的scipts,如果有可能,我想要仍然具有这种可能性所以我可以选择执行UI或从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") …
Run Code Online (Sandbox Code Playgroud)

python

18
推荐指数
2
解决办法
8万
查看次数

在python中声明一个全局动态变量

我是一个python /编程新手,也许我的问题根本就没有意义.

我的问题是,如果变量是动态的,我无法将变量变为全局变量,我的意思是我可以这样做:

def creatingShotInstance():

    import movieClass

    BrokenCristals = movieClass.shot()
    global BrokenCristals #here I declare BrokenCristals like a global variable and it works, I have access to this variable (that is a  shot class instance) from any part of my script.
    BrokenCristals.set_name('BrokenCristals')
    BrokenCristals.set_description('Both characters goes through a big glass\nand break it')
    BrokenCristals.set_length(500)
    Fight._shots.append(BrokenCristals)

def accesingShotInstance():
    import movieClass

    return BrokenCristals.get_name()#it returns me 'BrokenCristals'
Run Code Online (Sandbox Code Playgroud)

但如果不这样做,我声明一个像这样的字符串变量:

def creatingShotInstance():

    import movieClass

    a = 'BrokenCristals'

    vars()[a] = movieClass.shot()
    global a #this line is the only …
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
2
解决办法
8631
查看次数

标签 统计

python ×2