繁体   English   中英

如何将一个python脚本的输出作为另一个python脚本的用户输入

[英]How can i take the output of one python script as user input for another python script

我写了一个代码(python 2.7),进入一个网站Cricket得分 ,然后从中取出一些数据,只显示其得分。它也会定期重复并继续运行,因为分数不断变化。 我还编写了一个代码,用于从用户那里获取消息输入,并将该消息作为短信发送到我的号码。

我想将这两个分开,以便我的屏幕上打印的分数作为向我发送实时分数的消息输入。

代码是

sms.py

    import urllib2
    import cookielib
    from getpass import getpass
    import sys
    import os
    from stat import *
    import sched, time
    import requests
    from bs4 import BeautifulSoup
    s = sched.scheduler(time.time, time.sleep)
    from urllib2 import Request
    #from livematch import function

    #this sends the desired input message to my number


    number = raw_input('enter number you want to message:  ')
    message = raw_input('enter text: ' ) 


    #this declares my credentials
    if __name__ == "__main__":    
        username = "9876543210"
        passwd = "abcdefghij"

        message = "+".join(message.split(' '))

     #logging into the sms site
        url ='http://site24.way2sms.com/Login1.action?'
        data = 'username='+username+'&password='+passwd+'&Submit=Sign+in'

     #For cookies

        cj= cookielib.CookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

     #Adding header details
        opener.addheaders=[('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120')]
        try:
            usock =opener.open(url, data)
       except IOError:
            print "error"
            #return()

        jession_id =str(cj).split('~')[1].split(' ')[0]
        send_sms_url = 'http://site24.way2sms.com/smstoss.action?'
        send_sms_data = 'ssaction=ss&Token='+jession_id+'&mobile='+number+'&message='+message+'&msgLen=136'
        opener.addheaders=[('Referer', 'http://site25.way2sms.com/sendSMS?Token='+jession_id)]
        try:
            sms_sent_page = opener.open(send_sms_url,send_sms_data)
        except IOError:
            print "error"
            #return()

        print "success" 
        #return ()    

livematch.py

    import sched, time
    import requests
    from bs4 import BeautifulSoup
    s = sched.scheduler(time.time, time.sleep)
    from urllib2 import Request

    url=raw_input('enter the desired score card url here :  ')
    req=Request(url)
    def do_something(sc) : 
        #global x
        r=requests.get(url)
        soup=BeautifulSoup(r.content)
        for i in soup.find_all("div",{"id":"innings_1"}):
          x=i.text.find('Batsman')
          in_1=i.text
          print(in_1[0:x])
        for i in soup.find_all("div",{"id":"innings_2"}):
          x=i.text.find('Batsman')
          in_1=i.text
          print(in_1[0:x])
        for i in soup.find_all("div",{"id":"innings_3"}):
          x=i.text.find('Batsman')
          in_1=i.text
          print(in_1[0:x])
        for i in soup.find_all("div",{"id":"innings_4"}):
          x=i.text.find('Batsman')
          in_1=i.text
          print(in_1[0:x])
        # do your stuff
            #do what ever 
        s.enter(5, 1, do_something, (sc,))

    s.enter(5, 1, do_something, (s,))
    s.run()

请注意,不使用9876543210作为用户名,而使用abcdefghij作为密码,请使用实际帐户的凭据。

在way2sms.com上注册这些凭据

如果你想通过你的python脚本调用一个完全独立的python脚本,请看subprocess模块。 您可以使用subprocess.callsubprocess.Popen

没有看你的代码就很难回答。 但似乎使用带有子流程的管道将是一个合适的解决方案。

请参阅这篇文章的答案: python subprocess.stdout.readline没有

暂无
暂无

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

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