我有一个反复运行的可执行文件,称为“ a”,可以用许多参数调用它。我正在考虑为其定义不同的功能,然后像下面这样在main中调用它。一个命令的输出将成为下一个命令的输入。以编程方式是对的吗?我知道它会起作用。
var i = "https://example.com/?id\u003dg596c2f91a67e518\u0026itag\u003d18\u0026source\u003dtest";
console.log(unescape(JSON.stringify(i)));
答案 0 :(得分:1)
好吧,假设我现在了解了您想要的内容,您想从引号中删除传递的参数(已经是字符串)
您还需要在元素之间留一个空格
我也简化了一些代码
def d(x, z):
return ' '.join(['a', x , '-m', '1', '-d', '-g', '5', '-o', z])
def e(x, z):
return ' '.join(['a', x, '-m', '1', '-d', '-p', 'in', '-o', z])
def f(x, z):
return ' '.join(['a', x, '-m', 'side', '-d', '-y','-p', 'in', '-o', z])
def main():
result1 = subprocess.call(d('in.txt', 'w1'))
result2 = subprocess.call(e('w1', 'w2'))
result3 = subprocess.call(f('w2', 'w3'))
if __name__ == '__main__':
main()
编辑:我认为这不会更好,但是如果您有很多选择,也许您可以从中进行改进并加以改进(或者其他人可以提出更好的建议):
def generate_line(x, z, flag):
flags = {'d':('1',('-g','5')), 'e':('1',('-p','in')),'f':('side',('-y','p','in'))}
aa,bb = flags[flag]
l = ' '.join(['a', x , '-m', aa, '-d', *bb, '-o', z])
return l
def main():
result1 = print(generate_line('in.txt', 'w1','d'))
result2 = print(generate_line('w1', 'w2','e'))
result3 = print(generate_line('w2', 'w3','f'))