【发布时间】:2016-01-03 11:55:13
【问题描述】:
我想下载 java,因此我从 shell 使用以下命令,它可以正常工作。
wget -P /data/ --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
但是当我使用 python 运行相同的命令时,我得到一个错误。 这是我的python代码。
from resource_management import *
import os
import params
cmd = 'wget -P ' + params.java_tarball_path + ' --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
print cmd
Execute(cmd, user=params.monarch_user, timeout=300)
我在 _call 中收到以下错误“文件”/usr/lib/python2.6/site-packages/resource_management/core/shell.py”,第 198 行 err_msg = Logger.filter_text(("执行 '%s' 返回 %d. %s") % (command_alias, code, out)) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1228: ordinal not in range(128)"
我还打印了要在 python 中执行的命令,对我来说看起来没问题。 "wget -P /data/ --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"
如何使用 python 的 Execute 命令下载?
【问题讨论】:
-
您已将问题标记为
python-2.7,但错误显示为python-2.6。另外,resource_management模块是什么?
标签: python unicode python-2.6 decoding