2016-11-11 1 views
0

В записной книжке python я хотел бы передать аргумент temp в первой строке до последней строки, но я не уверен, как это сделать.Пропустить аргумент python для оболочки

def grabdata(statefolders, temp, split_by): 
    for folder in statefolders: 
     sub = folder.split('_')[split_by] 
     new_name = sub + '_out.txt' 
     !cp {folder}/done/sigdet_output*out temp{new_name} 
+0

Последняя строка просто вызвать '' 'SyntaxError' ''. Вы хотите сделать что-то вроде '' 'subprocess.run '' (папка = папка, temp = temp, new_name = new_name), оболочка = True) '' '? –

ответ

1

Если

!cp {folder}/done/sigdet_output*out temp{new_name} 

является то, что вы, как правило, выполняются в вашей оболочке, то command в Python будет:

import subprocess 
subprocess.run(["cp", "{}/done/sigdet_output*out".format(folder), "temp{}".format(new_name)])