Python Bash 脚本开始
Python Bash script start
基本上,我正在尝试使用 Python 运行 多处理,这将利用 telnet 到服务器以发送 HTTP 请求。该请求记录在 request.txt 完整请求 header 中。
在我的 python 代码中,我测试了完整的多处理,它就像魔术一样工作。但是,一旦放置在服务器中,bash 命令就无法正常执行。
我要在 Python 中复制的是以下 bash 示例:
START=
(
cat request.txt
sleep 2
)| telnet 0 999
我在 python 源代码中所做的是:
os.system("START=\
(\
cat request.txt \
sleep 2 \
)| telnet 0 999\
")
我得到的是:
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
Connection closed by foreign host.
当我 运行 通过 bash 终端手动请求时,它 运行 完全没有错误。但是,当尝试执行 python 应用程序时,它会出现上述行为。
P/S 我没有发布完整源代码的原因是因为我的问题只与 os.system - 应用程序的 bash 部分有关。
谢谢
我不知道这是否是您问题的答案。但是查看您的代码,您的多行字符串的计算结果为 START=( cat request.txt sleep 2 )| telnet 0 999
。所以 cat request.txt sleep 2
作为一个命令出现。这可能是问题的原因。你可以在cat request.txt
后面加一个;
试试。
顺便说一下,建议在 python 中对多行字符串使用三引号,而不是使用 \
转义每一行
添加有效的解决方案:
os.system('''START=
(
cat vsip.txt;
sleep 2
)| telnet 0 999
''')
基本上,我正在尝试使用 Python 运行 多处理,这将利用 telnet 到服务器以发送 HTTP 请求。该请求记录在 request.txt 完整请求 header 中。
在我的 python 代码中,我测试了完整的多处理,它就像魔术一样工作。但是,一旦放置在服务器中,bash 命令就无法正常执行。
我要在 Python 中复制的是以下 bash 示例:
START=
(
cat request.txt
sleep 2
)| telnet 0 999
我在 python 源代码中所做的是:
os.system("START=\
(\
cat request.txt \
sleep 2 \
)| telnet 0 999\
")
我得到的是:
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
Connection closed by foreign host.
当我 运行 通过 bash 终端手动请求时,它 运行 完全没有错误。但是,当尝试执行 python 应用程序时,它会出现上述行为。
P/S 我没有发布完整源代码的原因是因为我的问题只与 os.system - 应用程序的 bash 部分有关。
谢谢
我不知道这是否是您问题的答案。但是查看您的代码,您的多行字符串的计算结果为 START=( cat request.txt sleep 2 )| telnet 0 999
。所以 cat request.txt sleep 2
作为一个命令出现。这可能是问题的原因。你可以在cat request.txt
后面加一个;
试试。
顺便说一下,建议在 python 中对多行字符串使用三引号,而不是使用 \
添加有效的解决方案:
os.system('''START=
(
cat vsip.txt;
sleep 2
)| telnet 0 999
''')