我想知道是否有一种方法可以动态更改子流程调用。现在我遇到了一个问题,我只能将静态字符串输入到googlecolab的子流程调用中,而无法输入字符串变量。
下面是我尝试做的一个例子:
for file in list_of_files:
cflow_data = !cflow file
我正在努力寻找一种方法,将动态字符串值输出到googlecolab中的子进程调用。我尝试了多种方法,包括:
- 子流程.Popen((后接.communicate((
- os.system((
- subprocess.call((
无效。如果有人对此有任何见解,或者在Goolge Colab中有可能,那就太好了。谢谢
在尝试了更多方法后,我找到了解决方案。
cflow_cmd = ["cflow","-l","/file/path"]
for file in file_list:
cflow_data = subprocess.check_output(cflow_cmd)
cflow_data = cflow_data.decode(locale.getdefaultlocale()[1])
它获取系统输出并将其转换为字节字符串,然后将该字节字符串转换为字符串