Skip to main content
 首页 » 编程设计

python之在 Python 中使用子进程

2025年05月04日15softidea

我正在创建一个从用户那里获取输入文件的 Django 应用程序。我想使用 subprocess 模块获取文件并将其作为参数传递给外部脚本并取回结果。 subprocess.Popen 调用的格式是什么。我还想将一个选项传递给脚本,例如 -a。 换句话说,对于看起来像这样的命令行,subprocess.Popen 调用会是什么样子:

./myscript -option file 

还有关于我尝试运行的脚本路径的任何问题。非常感谢。

这是我在 views.py 中使用的代码。我只是想看看一个简单的 cp 命令是否有效以及如何传递参数:

def upload_file(request): 
 
    if request.method == 'POST': 
    form=UploadFileForm()         
    form = UploadFileForm(request.POST, request.FILES) 
        if form.is_valid(): 
            handle_uploaded_file(request.FILES['file']) 
            return HttpResponseRedirect('/upload') 
    else: 
        form = UploadFileForm() 
    return render_to_response('upload_file.html', {'form': form}) 
 
def handle_uploaded_file(f): 
 
    p=subprocess.Popen(['/bin/cp',f , '/home/dutzy/Desktop']) 

请您参考如下方法:

subprocess.Popen有一个非常容易理解的语法:

subprocess.Popen(['./myscript', '-option', 'file']) 

只需浏览示例,您就会了解其中的模式。