开发者社区> 问答> 正文

读取txt文件并在url中作为变量传递

我试图完成一项任务。任务是以下我需要读取一个名为“ip.txt”的文件并逐行读取该文件,并使用urlopen将txt文件行传递给URL。

from urllib.request import urlopen

def send_alert():

from smtplib import SMTP
from email.mime.text import MIMEText

msg = MIMEText('nuf said')
msg['Subject'] = 'inventi.lt is unreachable'
msg['From'] = 'XXX@xxxx.com'
msg['To'] = 'jnin@xxxx.com'

server = SMTP('mail.xxxxxx.com:2525')
server.ehlo()
server.starttls()
server.login('jnin@xxxxx.com', 'password')
server.sendmail('jnin@xxxx.com', ['jnin@xxx.com'], msg.as_string())
server.quit()
LEER FILE

ip_dirreciones = open("ip.txt", "r")

try:

urlopen ('http://VARIABLE-HERE/cgi-bin/api-sys_operation?passcode=2000&request=REBOOT')

print ("OK")

except:

send_alert()

我们的想法是脚本将自动运行文本文件中的每一行

样品

http://1.1.1.1/cgi-bin/api-sys_operation?passcode=2000&request=REBOOT
http://1.1.1.3/cgi-bin/api-sys_operation?passcode=2000&request=REBOOT
http://1.1.1.2/cgi-bin/api-sys_operation?passcode=2000&request=REBOOT

展开
收起
一码平川MACHEL 2019-02-28 13:45:10 3935 0
1 条回答
写回答
取消 提交回答
  • 你从这样的文件中读取:

    with open('ip.txt', 'r') as file:

    link_list = file.readlines()

    这将创建一个列表,其中.txt文件的每一行都转换为列表中的项目。然后,您可以遍历此列表以依次使用每个项目!

    如果你的问题是关于组合字符串来制作链接(如.txt文件中包含:

    1.1.1.1
    1.1.1.2
    1.1.1.3)
    然后你会说:

    for link in link_list:

    urlopen ('http://{}/cgi-bin/api-sys_operation?passcode=2000&request=REBOOT'.format(link))

    这将动态填充{}与link迭代无关的内容

    2019-07-17 23:29:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载