首页 > 解决方案 > 获取 subprocess.run 来创建文件?

问题描述

我认为这会起作用:

subprocess.run(['pip', 'freeze', '>', 'requirements.txt'])

...但似乎没有创建文件。但是,结果pip freeze列在标准输出中。

然后我尝试了:

subprocess.run(['pip', 'freeze', '>', 'requirements.txt'], cwd=pathlib.Path.cwd())

... 没有什么。

我推测像这样使用“>”是行不通的(尽管有点困惑,如果这样的话不会引发错误),所以尝试了这个:

req_txt = pathlib.Path.cwd().joinpath('requirements.txt')
req_txt.touch()
subprocess.run(['pip', 'freeze'], stdout=req_txt)

...这会留下一个空文件。

这样做的方法是什么?

标签: pythonsubprocess

解决方案


推荐阅读