我有一个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]
答案 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)