繁体   English   中英

我的代码在我的计算机上完美运行,但在服务器上执行时却不行? PYTHON

[英]My code runs perfectly on my computer but not when executed on server? PYTHON

我有一个脚本,它从 MongoDB 中提取标题、发布日期和链接,并通过 email 将其发送给选定的收件人。 但是,当我通过 Github 从服务器(使用 Digital Ocean)运行它时,代码确实运行但结果错误。

例子

from pymongo import MongoClient
import datetime
import smtplib
from email.mime.text import MIMEText

client=MongoClient("mongodb+srv://xxxxxxxxx:yoQnE9BsxD8YqpqL@xxxxxxxx-z0q0x.mongodb.net/test?retryWrites=true&w=majority")
db=client.xxxxxx


total=[]
for doc in db.noticias.find().sort("Fecha",-1):
    if doc["Fecha"]>=datetime.datetime.now()+datetime.timedelta(hours=5,minutes=-60):
        del doc["_id"]
        doc["Fecha"]=doc["Fecha"]+datetime.timedelta(hours=-5)
        
        total.append("\n".join(str(x) for x in doc.values()))

total="\n\n".join(total)

if not total:
    pass
else:
    

    s=smtplib.SMTP("smtp.zoho.com",587)
    msg=MIMEText(total)
    sender="xxxx@zohomail.com"
    recipients="xxxx@gmail.com"
    msg["Subject"]="Noticias"
    msg["From"]=sender
    msg["To"]=recipients
    s.starttls()
    s.login("xxxx@zohomail.com","xxxxxxxx")
    s.sendmail(sender,recipients,msg.as_string())

这个想法是发送 email,如果在最后一小时有来自 MONGODB 集合的消息。 当我在我的计算机上运行代码时,脚本会正确发送消息。 但是,当我通过 Github 连接到 DigitalOcean 时运行代码时,发送的代码不遵守条件。

感谢各位的回答。 我对 python 编码真的很陌生,这是我第一次使用像 DigitalOcean 这样的远程服务器。 发生的事情是我在远程服务器上克隆了我的 github 存储库,并认为我从本地计算机对我的存储库所做的每一次新推送都会在远程服务器的目录中看到。 所以,当我从服务器执行时,它无法工作,因为当我克隆我的代码时,脚本还没有完成。 这是一个新人的错误。 无论如何,谢谢你的时间。 花了一天时间才意识到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM