擅长:python、mysql、java
<p>我在阅读时也解决了同样的问题上海py直接!在</p>
<p>因为<code>crontab</code>有自己的shell或脚本运行路径,<code>sh.py</code>执行<code>306 fpath, fname = os.path.split(program)</code>,它返回空,这意味着在路径中找不到{<cd4>}位置,所以抛出NONE错误。在</p>
<pre><code> # /usr/local/lib/python2.7/dist-packages/sh.py
300 def which(program):
301 def is_exe(fpath):
302 return (os.path.exists(fpath) and
303 os.access(fpath, os.X_OK) and
304 os.path.isfile(os.path.realpath(fpath)))
305
306 fpath, fname = os.path.split(program)
307 #lucifer
308 #print 'fpath={0},fname={1}'.format(fpath,fname)
309 if fpath:
310 if is_exe(program):
311 return program
312 else:
313 if "PATH" not in os.environ:
314 return None
315 for path in os.environ["PATH"].split(os.pathsep):
316 exe_file = os.path.join(path, program)
317 if is_exe(exe_file):
318 return exe_file
</code></pre>
<p>所以您需要添加命令(例如您的<code>ifconfig</code>路径操作系统环境
我把它加到我的脚本.py对于crontab</p>
^{pr2}$
<p>宾果!一切都好!在</p>