mac | python脚本在终端插入mysql表时运行良好,但不能作为cron job | mac运行

inn6fuwd  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(270)

很高兴有人能帮忙。
python脚本(a.py)在从终端插入mysql(mydatabase/table1)时运行良好,但在作为cron作业运行时,mysql(mydatabase/table1)无法插入或更新。
a、 py解析documents目录中的所有*.htm文件,并将结果lst\u url插入mydatabase/table1字段lst\u url。
a、 位于文档目录中。
cron作业是*****documents/a.py
提前谢谢。
托赫

a.py
-------------------------------------------------
import time
from bs4 import BeautifulSoup
from datetime import datetime
import pymysql
import glob
import os

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root',passwd='XXXXXXXX',db='mysql', charset='utf8')
cur=conn.cursor()
cur.execute("USE mydatabase")

for page in glob.glob('documents/*.htm'):

    with open(page) as html_file:
        soup = BeautifulSoup(html_file, 'lxml')

    try:
        with conn.cursor() as cursor:
            for item in soup.find_all('div',class_='listing_info'):
                lst_url= item.find('a', href=re.compile(r'[/]([a-z]|[A-Z])\w+')).attrs['href'

                sql="INSERT INTO mydatabase.table1(lst_url) VALUES (%s)"
                cur.execute(sql,(lst_url))

        conn.commit()
    finally:
        #conn.close()
        print("Done")
h9vpoimq

h9vpoimq1#

cron可以在不同的python版本/环境中运行它。我会照spinor8和dan dev说的做,我会解释原因。
正如spinor8所说,您可以在程序的头部记录PythonVerison。这里有一个很好的链接来解释如何。
正如dandev所说的,您应该定义希望与shebang一起使用的python的路径。

相关问题