“命令行太长”与 subprocess.run

问题描述 投票:0回答:2

我正在尝试执行

subprocess.run
命令。

我有一个非常大的参数 - 它基本上是一个超过 10000 个字符长的 SQL 语句。

执行中

subprocess.run(["cmd", param1, param2, param3, param4, param5, param6, param7, param8, param9], shell=True)

返回错误

The command line is too long.

参数总长度似乎限制在8000个字符左右。

在 Windows 上运行 python:

Python 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)] on win32

有没有办法传递这样的参数?

python windows subprocess
2个回答
2
投票

你可以尝试这样的事情。 将参数保存到文件中(例如 params.txt),然后:

set /p PARAMS= < params.txt
cmd %PARAMS%

0
投票

它不适用于子进程。别浪费时间了

© www.soinside.com 2019 - 2024. All rights reserved.