首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nitrous.io,Python不工作

Nitrous.io,Python不工作
EN

Stack Overflow用户
提问于 2015-01-30 21:14:00
回答 2查看 193关注 0票数 1

因为我的脚本在从命令行调用它时运行良好。我试图按计划使用cron运行这段代码:

代码语言:javascript
复制
with open('out.txt', 'a') as f:
    f.write('Hello world! \n')

我设置了chmod a+x hello_world.py

但是我想用python3.3在Nitrous.io中运行它,因为which pythonwhich python3.3分别返回/home/action/.parts/bin/python/usr/bin/python3.3。我已经试着在剧本的开头加了些打包带。

代码语言:javascript
复制
#!/usr/bin/python
#!/usr/bin/python3.3
#!/usr/bin/env python
#!/usr/bin/env python3.3
#!/home/action/.parts/bin/python (Weird, I know...)

命令python返回一个2.7.6pythonshell,python3.3/usr/bin/python3.3返回一个3.3.5pythonshell。和ls /usr/bin/python*输出:

代码语言:javascript
复制
/usr/bin/python            /usr/bin/python2.6-config  /usr/bin/python3.2-config    /usr/bin/python3.3m                             
/usr/bin/python2           /usr/bin/python2.7         /usr/bin/python3.2mu         /usr/bin/python3.3m-config                      
/usr/bin/python2.5         /usr/bin/python2.7-config  /usr/bin/python3.2mu-config  /usr/bin/python-config                          
/usr/bin/python2.5-config  /usr/bin/python2-config    /usr/bin/python3.3                                                           
/usr/bin/python2.6         /usr/bin/python3.2         /usr/bin/python3.3-config

我还向PATH和PYTHONPATH添加了python路径:

代码语言:javascript
复制
#PATH=/usr/bin/python3.3:/home/action/.parts/bin:/home/action/.parts/sbin:/home/action/.parts/autoparts/bin:/home/action/.parts/autoparts/bin:/home/action/.parts/autoparts/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/action/.gem/ru
by/1.9.1/bin   

#PYTHONPATH=/usr/bin/python3.3

pidof cron正在返回cron的进程ID。

我试图用... > /path/to/cron.log 2&>1重定向输出,但没有成功。和衍生物..。

我的crontab -e文件看起来如下:

代码语言:javascript
复制
PYTHONPATH=/usr/bin/python3.3
* * * * * /usr/bin/python3.3 /home/action/workspace/hello_world.py

但我不能让它起作用..。有人能帮助这个小矮人吗?:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-30 21:44:33

我猜-你的剧本很好。没有输出,没有问题。只是不知道输出文件在哪里。

对于您的代码,请尝试绝对路径。

代码语言:javascript
复制
with open('/tmp/out.txt', 'a') as f:
    f.write('Hello world! \n')

作为旁白- #!鸽子不重要。

当您在python脚本前面加上python解释器时:

代码语言:javascript
复制
/usr/bin/python3.3 <any-file>

python interperter,而不是shell,将执行该文件,并将忽略#!线路。

票数 1
EN

Stack Overflow用户

发布于 2015-01-30 21:43:14

起作用了!似乎在氮气中,~/actions/充当根目录。所以如果你想这么做的话

代码语言:javascript
复制
with open('out.txt', 'a') as f:
    f.write('Hello world! \n')

您实际上是在创建一个包含内容的文件,但不是在~/actions/中,而不是在/home/actions/workbench/out.txt中的脚本文件的当前目录中,以使其正常工作,正如我所期望的那样,我不得不将它重写为:

代码语言:javascript
复制
with open('workbench/out.txt', 'a') as f:
    f.write('Hello world! \n')

不需要在crontab -e文件中使用shebang或PYTHONPATH。cron命令它与上面的相同(在问题中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28244720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档