在Python中将输入参数转换为输出参数

时间:2018-03-08 22:06:21

标签: python parameters output

我有一个Python脚本,它接受几个输入参数,其中一个是输出文件夹的名称,它将保存已处理的数据。我希望能够访问该输出文件夹变量作为输出参数。我该怎么做呢?注意:此脚本正在ArcGIS模型中使用。我需要输出参数作为模型中另一个进程的输入。

#Get the input feature class, optional fields and the output filename
input_FC = sys.argv[1]
inField = sys.argv[2]
theFName = sys.argv[3]
outFolder = sys.argv[4]

2 个答案:

答案 0 :(得分:1)

如果您必须将其作为输入,那么您是否已经拥有该信息?如果你不知道你的输入是什么,你如何调用该函数?在调用之前将输入存储为变量,然后在需要的任何地方使用该变量。

答案 1 :(得分:1)

Python将以几种方式“输出”变量(或您调用它们的参数)。如果您希望将变量写入屏幕,可以使用打印功能。

input_FC = sys.argv[1]
inField = sys.argv[2]
theFName = sys.argv[3]
outFolder = sys.argv[4]

print outFolder

如果您希望将此变量用于其他python脚本,则可能需要考虑编写函数。函数可以将变量作为输入,并使用它们进行计算,然后返回输出。

def complete_fname(folder, fname):
    output = folder + '/' + fname
    return output

input_FC = sys.argv[1]
inField = sys.argv[2]
theFName = sys.argv[3]
outFolder = sys.argv[4]

outFName = complete_fname(outFolder, theFName)

最后,您可能需要考虑将sys.argv命令置于只运行命令的条件中,如果您的脚本是从命令行运行的。这样,如果有人在您的脚本上使用“import”而不是从命令行运行它,程序将不会查找命令行参数。

def complete_fname(folder, fname):
    output = folder + '/' + fname
    return output

if __name__ == '__main__':

    input_FC = sys.argv[1]
    inField = sys.argv[2]
    theFName = sys.argv[3]
    outFolder = sys.argv[4]

    outFName = complete_fname(outFolder, theFName)