当我从命令行执行我的python脚本时,我没有这样的问题:
[rv @ med240-183 db] $ python formatdb.py
[rv @ med240-183 db] $
当我每隔午夜尝试使用crontab运行脚本时,我会遇到一系列错误:
import: unable to open X server `' @ import.c/ImportImageCommand/367.
/home/rv/ncbi-blast-2.2.23+/db/formatdb.py: line 2: from: command not found
/home/rv/ncbi-blast-2.2.23+/db/formatdb.py: line 3: from: command not found
import: unable to open X server `' @ import.c/ImportImageCommand/367.
/home/rv/ncbi-blast-2.2.23+/db/formatdb.py: line 6: syntax error near
unexpected token `('
/home/rv/ncbi-blast-2.2.23+/db/formatdb.py: line 6: `conx = MySQLdb.connect
(user = 'root', passwd = '******', db = 'vaxijen_antigens')'
Run Code Online (Sandbox Code Playgroud)
我的脚本目录如下:
/home/rv/ncbi-blast-2.2.23+/db/
Crontab看起来像:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/python/:/home/rv/ncbi-blast-2.2.23+/database_backup:/home/rv/ncbi-blast-2.2.23+/db/
MAILTO="******"
HOME=/
# For details …Run Code Online (Sandbox Code Playgroud) 所以目前我正在尝试删除目录中列出的1分钟旧文件,我将在脚本工作后更改该值.
下面的代码返回错误:AttributeError: 'str' object has no attribute 'mtime'
import time
import os
#from path import path
seven_days_ago = time.time() - 60
folder = '/home/rv/Desktop/test'
for somefile in os.listdir(folder):
if int(somefile.mtime) < seven_days_ago:
somefile.remove()
Run Code Online (Sandbox Code Playgroud) 我正在使用以下脚本向自己发送电子邮件,该脚本运行正常,没有错误,但我没有收到任何电子邮件。
import smtplib
sender = 'foo@hotmail.com'
receivers = ['foo@hotmail.com']
message = """From: From Person <foo@hotmail.com>
To: To Person <foo@hotmail.com>
Subject: SMTP e-mail test
This is a test e-mail message.
"""
try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
Run Code Online (Sandbox Code Playgroud)
编辑
脚本名为 test.py
所以我有一个看起来像这样的文件:
#!/usr/bin/python
import MySQLdb
import subprocess
from subprocess import call
import re
conx = MySQLdb.connect (user = 'root', passwd = '******', db = 'vaxijen_antigens')
cursor = conx.cursor()
cursor.execute('select * from sequence')
row = cursor.fetchall()
f = open('/home/rv/ncbi-blast-2.2.23+/db/vdatabase.fasta', 'w')
for i in row:
f.write('>'+i[0].strip()+'\n')
s = re.sub(r'[^\w]','',str(i[1]))
s = ''.join(s)
for k in range(0, len(s), 60):
f.write('%s\n' % (s[k:k+60]))
f.write('\n')
f.close()
subprocess.call(['formatdb', '-p', 'T', '-i', r'/home/rv/ncbi-blast-2.2.23+/db/vdatabase.fasta'])
Run Code Online (Sandbox Code Playgroud)
该文件从命令行运行没有问题,但当我尝试使用crontab运行它时,我收到此错误:
File "/home/rv/ncbi-blast-2.2.23+/db/formatdb.py", line 29, in <module>
subprocess.call(['formatdb', '-p', 'T', '-i',
r'/home/rv/ncbi-blast-2.2.23+/db/vdatabase.fasta'])
OSError: [Errno 2] …Run Code Online (Sandbox Code Playgroud) Python脚本可以将照片上传到照片存储桶,然后检索它的URL吗?是这样怎么样?
我在这个链接上找到了一个脚本:http://www.democraticunderground.com/discuss/duboard.php?az = view_all&address = 240x677
但我发现这令人困惑.
非常感谢,
菲尔