мой пакет генерирует сценарии, помещенные в папку aanconda / script, автоматически во время установки
эти сценарии действительно просты и используют argparse для управления аргументами сценария.Вот пример
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='CGM1-pipeline')
parser.add_argument('-uf','--userFile', type=str, help='userSettings', default="CGM1.userSettings")
parser.add_argument('-ef','--expertFile', type=str, help='Local expert settings', default=None)
args = parser.parse_args()
#print args
# ---- main script -----
try:
print args
#main(args)
except Exception, errormsg:
print "Script errored!"
print "Error message: %s" % errormsg
traceback.print_exc()
print "Press return to exit.."
raw_input()
все отлично работает от Powershell.Я могу изменить свой аргумент следующим образом:
script.py -uf="toto.c3d"
Это прекрасно, за исключением того, что мне нравится запускать его из скрипта Python с помощью os.system или подпроцесса.
если я сделаю
import os
os.system("script.py -uf=toto.c3d")
, эта команда не учитывает мой аргумент uf.Он сохраняет значение по умолчанию.
, который работает, если я делаю
import os
os.system("python C:/Anaconda/Scripts/script.py -uf=toto.c3d")
, почему не работает первый синтаксис?
Относительно