精华内容
下载资源
问答
  • 交互提示模式下编写代码安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式。Python 交互模式有以下几个注意点:1. 只能够输入Python命令在Python交互模式下输入Python代码,而不要...

    5d637fff69306952.jpg

    交互提示模式下编写代码

    安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式。

    Python 交互模式有以下几个注意点:

    1. 只能够输入Python命令

    在Python交互模式下输入Python代码,而不要输入系统的命令。

    2. 在交互模式下打印语句不是必须的

    在交互模式下不需要输入完整的打印语句,解释器自动打印表达式的结果,但是在文件中则需要写print 语句来打印结果。

    3. 提示符的变换和复合语句

    ??当在交互模式下输入两行或多行的复合语句时,提示符会由>>> 变成 …;如果要结束复合语句的输入并执行它,那么必须按下Enter键两次,复合语句才会被执行。

    4. 交互提示模式一次运行一条语句

    当你想测试某一条命令的时候,交互模式是一个很好的测试方法,输入然后回车即可看到执行结果,非常方便,当然对于复合语句来说,只要最后按两次Enter键即可运行代码,看到执行结果。

    文件和模块

    交互提示模式对于试验和测试来说都是很好的,但它有一个很大的缺点就是Python执行了输入的程序之后,程序就消失了。当想再次实验或测试运行过的程序的时候就需要重新输入,特别是对于相对较大的程序来说,这实在不是一个现代的软件开发方法。为了能够在永久的保存程序,需要在文件中写入代码,这样的文件通常叫做模块,模块是一个包含了Python语句的简单文本文件。一旦编写完成,可以让Python解释器多次运行这样的文件中的语句。

    展开全文
  • Python自动生成代码 - 通过tkinter图形化输入并生成代码框架背景脚本代码Demo_CodeGenerator.pydisplay.pyFileHandler.py:脚本运行结果:脚本代码目录 背景 在写代码过程中,如果有频繁重复性的编码操作,或者可以...

    背景

    在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写、或者copy了。

    • 应用场景:比如新建固定的代码框架、添加一些既定的软件逻辑,通讯协议、消息模板等等,再编写一套代码时,或者一个Function时,每次使通过脚本一键生成代码,就不需要每次都写一遍了,同时可以把相关软件逻辑放进去,也能避免出错。

    脚本代码

    Demo_CodeGenerator.py

    通过以下代码框架,大家想生成什么样的代码就在mycode中append相应的行,然后点开Display输入相关参数,就可以自动生成code文件。

    #conding=utf-8
    
    from FileHandler import WritetoFile
    import sys
    
    PwdPath = sys.argv[0]
    
    class BuildCode_Dev:
        'Auto Generate code of Device control'
    
        def __init__(self, KeyWord = 'TestDemoCommand'):
            self.CmdKeyWord = KeyWord
    
        def Generate(self):
            fileName = 'Code_Dev.txt'
    
            mycode = []  
    		#想生成什么样的代码就在mycode中append相应的行,
            mycode.append('\n---------------------- Demo code Below: ---------------------- ')
    
            mycode.append('\n---------------------- Demo code Below: ---------------------- ')  
    
            mycode.append('\n---------------------- Demo code Below: ---------------------- ')
            mycode.append('\n***** DemoCode_Get_DataLength() *****  ')
            mycode.append('\n***** DemoCode_Set_DataLength() *****  ')
    
            mycode.append('Switch ('+ self.CmdKeyWord + '):')
            mycode.append('    case('+ self.CmdKeyWord + '):') 
            mycode.append('    break;') 
    
    
            WritetoFile(fileName,mycode)
    
            print('Code:'+self.CmdKeyWord + ' Generator OK!')
    
            return(mycode)
    
    
    
    if __name__ == '__main__':
        if(sys.argv[1:] == []):
            print('Not input parameter , Use Test Data')
            CmdKeyWord = 'TestDemoCommand'
        else:
            CmdKeyWord = sys.argv[1]
            
        
    #code = BuildCode_Dev(CmdKeyWord)
    #code.Generate()
    
    
    #print(PwdPath)
    #print(CmdKeyWord)
    
    

    display.py

    主要通过tkinter图形化显示,根据输入参数,点击按钮 生成相应的代码。

    # -*- coding: utf-8 -*-
    from tkinter import *
    from GatewayControl_CodeGenerator import *
    from DeviceControl_CodeGenerator import *
    
    
    def GWMsg():
         txt.delete(1.0,END)
         Input = str(inputData.get(1.0,END))
         
         Cmd_Gw = BuildCode_GW(Input)
         CodeRst = Cmd_Gw.Generate()
         s = 'Code_GW.txt Generate Success:\n\n'
         txt.insert(END, s)
         txt.insert(END, CodeRst) 
         #inputData.delete(0.0, END)  
    
    def DevMsg():
         txt.delete(1.0,END)
         Input = str(inputData.get(1.0,END))
         
         Cmd_Dev = BuildCode_Dev(Input)
         CodeRst = Cmd_Dev.Generate()
         s = 'Code_Dev.txt Generate Success:\n\n'
         txt.insert(END, s)
         txt.insert(END, CodeRst) 
         #inputData.delete(0.0, END)     
    
    def clearContent():
         inputData.delete(1.0, END)  
         txt.delete(1.0,END)
    
    
    root = Tk()
    root.geometry('1000x600')
    root.title(' Code Generator')
    root.config(bg='#f0ffff')
    
    #Lable
    intro = Label(root,text='请在左侧输入消息/命令名字, 然后选择相应按钮生成代码',\
                           bg='#d3fbfb',\
                           fg='red',\
                           font=('华文新魏',11),\
                           width=20,\
                           height=2,\
                           relief=RIDGE)
    
    intro.place(relx=0.1, rely=0.1, relwidth=0.8, relheight=0.1)
    
    #Input
    inputData = Text(root, font = ('',14))
    inputData.place(relx=0.1, rely=0.2, relwidth=0.3, relheight=0.6)
    
    #Output
    txt = Text(root, font = ('',9))
    txt.place(relx=0.6, rely=0.2, relwidth=0.3, relheight=0.6)
    
    #Button 
    bt_json2bin = Button(root, text='**Demo Control', command=GWMsg, fg ='blue')
    bt_json2bin.place(relx=0.4, rely=0.25, relwidth=0.2, relheight=0.1)
    
    bt_bin2json = Button(root, text='**Demo Control', command=DevMsg, fg ='blue')
    bt_bin2json.place(relx=0.4, rely=0.45, relwidth=0.2, relheight=0.1)
    
    bt_clear = Button(root, text='Clear', command=clearContent, fg ='blue')
    bt_clear.place(relx=0.4, rely=0.65, relwidth=0.2, relheight=0.1) 
    
    intro = Label(root,text='产生的完整代码在 Code_GW.txt或Code_Dev.txt中(当前目录 ), 问题联系人:Howard',\
                           bg='#d3fbfb',\
                           fg='red',\
                           font=('华文新魏',11),\
                           width=20,\
                           height=2,\
                           relief=RIDGE)
    
    intro.place(relx=0.1, rely=0.8, relwidth=0.8, relheight=0.1)
    
    root.mainloop()
    
    

    FileHandler.py:

    主要是把代码写入文件保存

    
    def WritetoFile(FileName,Data):
        with open(FileName,'w') as record:
            strr = "\n"
            content = strr.join(Data)
            record.write(content+'\n')
    
    

    脚本运行结果:

    运行display.py, 选择相应按钮后,会调用相应生成代码py文件。
    最后可以把这个打包成一个exe,方便使用。
    在这里插入图片描述

    脚本代码目录

    在这里插入图片描述

    其它好玩的Python脚本

    Python实现自动发送邮件 --自动抓取博客/网站中留言的邮箱并发送相应邮件
    Python自动生成代码 - 通过tkinter图形化操作并生成代码框架
    Python解析CSV数据 - 通过Pandas解析逻辑分析仪导出的CSV数据
    Python通过Django搭建网站执行Lua脚本 (实现数据解析)

    展开全文
  • 学习强国Python自动代码

    千次阅读 多人点赞 2020-07-29 10:26:30
    本文纯属【python自动化】自学记录与交流,小白一枚! 那么,开始~ 一开始,参考文章:http://30daydo.com/article/435 直接复制代码运行……(理想很丰满)……但!没错,就是跑不起来(现实总是残酷的)...

    今天你“学习强国”了吗?

    学习千万条,高效第一条!

     

    本文纯属【python自动化】自学记录与交流,小白一枚!

     

    那么,开始~

     

    一开始,参考文章:http://30daydo.com/article/435

    直接复制代码,运行……(理想很丰满)……但!没错!就是跑不起来!!!(现实总是残酷的)

    (ps:水平low,原因未究,初步是定位不到元素  ┭┮﹏┭┮)

     

    那么……只能,改!改改!改改改!

     

    正式开始:

    一、阅读文章

    上代码

    def read_arts():
        """阅读文章"""
        print("阅读文章开始\n")
        # 通过分析,找到栏目url,拿到类似channelNames=学习时评这个栏目下的所有文章信息
        url = "https://www.xuexi.cn/lgdata/1ap1igfgdn2.json?_st=26593106"   # 获取文章Api    
        firefox_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}  # 包装头部    
        request = Request( url, headers=firefox_headers )   # 构建请求
        html = urlopen( request )   # 打开网页   
        data = html.read()  # 读取网页内容,是json数据    
        hjson = json.loads(data)  # json解析响应文本
        # print('响应解析后的类型:',type(hjson))     # 解析后是dict(字典)类型
        # print('响应解析后的键值对个数:',len(hjson))   # 字典键值对个数
        # 循环读取响应内容中“url”对应的值,设置“循环次数”=7
        for j in range(0,7,1):        
            articles= hjson[ j ]['url']        # 取url对应的值
            print(j)
            print(articles)
            time.sleep(5)
            browser.get(articles)
            #  滚动条
            for i in range(0, 2000, 100):
                js_code = "var q=document.documentElement.scrollTop=" + str(i)
                browser.execute_script(js_code)
                time.sleep(5)
            for i in range(2000, 0, -100):
                js_code = "var q=document.documentElement.scrollTop=" + str(i)
                browser.execute_script(js_code)
                time.sleep(5)
        print("阅读文章完毕\n")

    二、播放视频

    def watch_videos():
        """观看视频"""
        print("播放视频开始\n")    
        url = 'https://www.xuexi.cn/lgdata/1novbsbi47k.json?_st=26597245'   # 获取视频Api
        firefox_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
        request = Request( url, headers=firefox_headers )
        html = urlopen( request )    
        data = html.read()  # 获取数据    
        hjson = json.loads(data)    # json解析响应文本    
        spend_time = 0
        for j in range(0,6,1):
            videos= hjson[j]['url']        # 取url对应的值
            print(j)
            print(videos)
            time.sleep(2)
            browser.get(videos) # 打开浏览器
            time.sleep(5)
            element = browser.find_element(By.CSS_SELECTOR, "body")
            actions = ActionChains(browser)
            actions.move_to_element(element)
            actions.perform()        
            browser.find_element(By.CSS_SELECTOR, ".outter").click()    # 点击播放视频        
            # 获取视频时长
            video_duration_str = browser.find_element_by_xpath("//span[@class='duration']").get_attribute('innerText')
            video_duration = int(video_duration_str.split(':')[0]) * 60 + int(video_duration_str.split(':')[1])
            # 保持学习,直到视频结束
            time.sleep(video_duration + 3)
            spend_time += video_duration + 3
        print("播放视频完毕\n")

    三、全部代码

    # _*_ coding: utf-8 _*_
    
    from selenium import webdriver
    import time
    import json
    from urllib.request import Request, urlopen
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    # 全局url
    HOME_PAGE = 'https://www.xuexi.cn/'   # 学习强国官方url
    LOGIN_LINK = 'https://pc.xuexi.cn/points/login.html'    # 登录url
    SCORES_LINK = 'https://pc.xuexi.cn/points/my-points.html'   # 分数url
    
    # 浏览器驱动
    browser = webdriver.Firefox()
    
    def login_simulation():
        """模拟登录"""  
        # 方式一:使用cookies方式
        # 先自己登录,然后复制token值覆盖
        # cookies = {'name': 'token', 'value': ''}
        # browser.add_cookie(cookies)
    
        # 方式二:自己扫码登录
        browser.get(LOGIN_LINK)    
        browser.execute_script("var q=document.documentElement.scrollTop=1000")
        time.sleep(10)
        browser.get(HOME_PAGE)
        print("模拟登录完毕\n")
    
    def read_arts():
        """阅读文章"""
        print("阅读文章开始\n")
        # 通过分析,找到栏目url,拿到类似channelNames=学习时评这个栏目下的所有文章信息
        url = "https://www.xuexi.cn/lgdata/1ap1igfgdn2.json?_st=26593106"   # 获取文章Api    
        firefox_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}  # 包装头部    
        request = Request( url, headers=firefox_headers )   # 构建请求
        html = urlopen( request )   # 打开网页   
        data = html.read()  # 读取网页内容,是json数据    
        hjson = json.loads(data)  # json解析响应文本
        # print('响应解析后的类型:',type(hjson))     # 解析后是dict(字典)类型
        # print('响应解析后的键值对个数:',len(hjson))   # 字典键值对个数
        # 循环读取响应内容中“url”对应的值,设置“循环次数”=7
        for j in range(0,7,1):        
            articles= hjson[ j ]['url']        # 取url对应的值
            print(j)
            print(articles)
            time.sleep(5)
            browser.get(articles)
            #  滚动条
            for i in range(0, 2000, 100):
                js_code = "var q=document.documentElement.scrollTop=" + str(i)
                browser.execute_script(js_code)
                time.sleep(5)
            for i in range(2000, 0, -100):
                js_code = "var q=document.documentElement.scrollTop=" + str(i)
                browser.execute_script(js_code)
                time.sleep(5)
        print("阅读文章完毕\n")
    
    
    def watch_videos():
        """观看视频"""
        print("播放视频开始\n")    
        url = 'https://www.xuexi.cn/lgdata/1novbsbi47k.json?_st=26597245'   # 获取视频Api
        firefox_headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
        request = Request( url, headers=firefox_headers )
        html = urlopen( request )    
        data = html.read()  # 获取数据    
        hjson = json.loads(data)    # json解析响应文本    
        spend_time = 0
        for j in range(0,6,1):
            videos= hjson[j]['url']        # 取url对应的值
            print(j)
            print(videos)
            time.sleep(2)
            browser.get(videos) # 打开浏览器
            time.sleep(5)
            element = browser.find_element(By.CSS_SELECTOR, "body")
            actions = ActionChains(browser)
            actions.move_to_element(element)
            actions.perform()        
            browser.find_element(By.CSS_SELECTOR, ".outter").click()    # 点击播放视频        
            # 获取视频时长
            video_duration_str = browser.find_element_by_xpath("//span[@class='duration']").get_attribute('innerText')
            video_duration = int(video_duration_str.split(':')[0]) * 60 + int(video_duration_str.split(':')[1])
            # 保持学习,直到视频结束
            time.sleep(video_duration + 3)
            spend_time += video_duration + 3
        print("播放视频完毕\n")
        
    
    def get_scores():
        """获取当前积分""" 
        browser.get(SCORES_LINK)
        time.sleep(2)
        gross_score = browser.find_element_by_xpath("//*[@id='app']/div/div[2]/div/div[2]/div[2]/span[1]")\
                      .get_attribute('innerText')
        today_score = browser.find_element_by_xpath("//span[@class='my-points-points']").get_attribute('innerText')
        print("当前总积分:" + str(gross_score))
        print("今日积分:" + str(today_score))
        print("获取积分完毕,即将退出\n")
    
    
    if __name__ == '__main__':
        login_simulation()  # 模拟登录
        get_scores()        # 获得今日积分
        read_arts()    
        watch_videos()     # 观看视频
        get_scores()        # 获得今日积分
        browser.quit()

    emmmmmmmmmmmmm……目前只能自动化,至于积分所要求时长……佛系随缘~~~~~~~~~

    展开全文
  • 微信Python自动回复代码

    千次阅读 2018-06-04 01:27:01
    首先 ,这个代码基于itchat这个库 ,如果需要安装 ,只需要pip3 install itchat 就能安装成功如何我们直接在这个库的基础上,在进行2次开发 这里 直接 上代码,有需要代码的可以q我运行结果放到服务器上就能一直跑了...

    首先 ,这个代码基于itchat这个库 ,如果需要安装 ,只需要pip3 install itchat 就能安装成功

    如何我们直接在这个库的基础上,在进行2次开发 这里 直接 上代码,有需要代码的可以q我

    运行结果



    放到服务器上就能一直跑了



    #!/usr/bin/env python3
    """
    【程序功能说明】
    1.程序主要利用itchat库实现了微信聊天自动回复功能,添加了weather、package、airlineTicket、trainTicket这几个.py文件
    将查天气、快递、机票、火车票的功能集成到了微信中,做到了发送关键词如:快递/火车/飞机/天气,自动回复相应内容并返回查询结果的功能!
    
    2.支持的微信消息类型:TEXT文本, PICTURE图片, MAP地点, CARD名片, NOTE通知, SHARING分享, RECORDING语音, ATTACHMENT附件, VIDEO视频
    其中查天气、快递、机票、火车票是在TEXT类型的消息中定义的;
    MAP即地图类型的消息,自动回复地点名称,经纬度信息;
    CARD即名片类型,无特别处理,直接返回msg['content'];
    SHARING即分享类型,自动回复分享的链接;
    NOTE即通知类型,如果是红包,则回复“谢谢红包打赏
    展开全文
  • win10 如何自动运行python 代码

    千次阅读 2018-12-17 11:26:04
    win10下如何自动运行python 代码 step1:首先选择管理 step2:找到并打开任务计划程序 step3:点开新建基本任务 step4:在触发器选择程序执行的频率 step5:选择启动程序时自动运行 step6:启动程序 ...
  • 如何使用pylint运行python测试 如何使用pytest测试python代码 如何使用pytest-cov(用于测量覆盖率的Pytest插件)确保测试覆盖率。 如何使用带有TravisCI的pytest自动化测试。 使用Coveralls自动报告覆盖率。 使用...
  • 交互提示模式下编写代码安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式。Python 交互模式有以下几个注意点:1. 只能够输入Python命令在Python交互模式下输入Python代码,而不要...
  • 加速python代码运行

    2019-10-09 20:36:00
    Python 虽然写起来代码量要远少于如 C++,Java,但运行速度又不如它们,因此也有了各种提升 Python 速度的方法技巧,当我们对 Numpy 数组进行基本的数组计算,比如加法、乘法和平方, Numpy 都会自动在内部向量化,这...
  • #浏览器后台运行 option=webdriver.ChromeOptions() option.add_argument("headless") self.wb=webdriver.Chrome(options=option) #可视化驱动浏览器并且最大化 self.wb=webdriver.Chrome() self.wb.maximize_...
  • 一、开始1.先把要做的事一步一步用注释写出来,然后再写代码。切记一定要写注释!不然回头看不懂自己写的是啥,这就尴尬了。2.提高测试用例运行效率,减少测试用例运行时间:Web自动化用例在编...
  • 之前写过模拟登录新浪微博的帖子,然而我并没有去爬过微博的数据,觉得有点浪费,于是就想写一个代码来发微博。写完之后觉得如果能自动发微博就好了,但是我又不可能24小时开始(晚上12点后还会断网),也没有vps...
  • 公司使用python,通过pytest运行接口自动代码,本来一直运行的好好的没啥问题,中间请假20天,回来拉取代码后发现运行报错:Hint: make sure your test modules/packages have valid Python names. 网上找的...
  • 交互提示模式下编写代码安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式。Python 交互模式有以下几个注意点:1. 只能够输入Python命令在Python交互模式下输入Python代码,而不要...
  • 在做python自动化测试,编写unittest框架运行代码的时候不执行 1、问题出在哪? 在编写自动化测试脚本的时候: import unittest from selenium import webdriver from login import Login import time class ...
  • Appium 转载于:https://www.cnblogs.com/guaimao123/p/7723740.html
  • MonkeyType:通过运行时跟踪类型自动将类型注释添加到Python 3代码的工具
  • 自己写的自动刷抖音代码,每天大概能刷1块吧,需要用真机,用appium作为服务器,用了不少库,测试了有一个星期,还是会有些小bug,偶尔会断开连接报错,不过不影响使用,不知道是不是我测试用的手机太垃圾的缘故,...
  • 交互提示模式下编写代码安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式。Python 交互模式有以下几个注意点:1. 只能够输入Python命令在Python交互模式下输入Python代码,而不要...
  • 在notepad++中按F5,弹出运行界面,然后输入: cmd /k C:\Python36\python.exe"$...cmd /k C:\Python36\python.exe: 表示打开Cmd窗口,运行/k后边的命令,并且执行完毕后保留窗口。此处即C:\Python36\python.exe(...
  • 1.找到你安装python的目录 2.进入scripts 3.路径输入cmd 4.输入命令:pip install selenium D:\Program Files\Python38\Scripts>pip install selenium Requirement already satisfied: selenium in d:\program ...
  • Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。在本文中,我们将会介绍 30 个简短的代码片段,你可以在 30 秒...
  • python打卡以及Linux自动运行python文件

    千次阅读 2021-01-17 11:43:18
    python打卡以及Linux自动运行python文件前因分析python代码实现linux自动运行python文件了解crond开机自启设置定时运行python文件设置crond踩坑总结 前因 学校弄了个每日打卡,需要我们每天打卡两次,对于学校这种...
  • 利用Python中turtle模块,运行代码自动画出小猪佩奇图案
  • python自动化测试,运行代码报错如下: 代码如下: driver = webdriver.Chrome() url="https://qzone.qq.com/" driver.get(url) account_click='//a[contains(text(),"帐号密码登录")]' driver.find_element_by_...
  • python2代码自动转换为python3 很多机器学习领域的代码还停留的python2阶段,然而我们的环境大部分是python3,同时装俩环境又很难受,手动修改的话就十分的繁琐。查阅了很多资料,最后找到了一个神器。anacoda目录下...
  • 本人用Python+selenium模块写的一个针对网站自动运行测试的程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,277
精华内容 1,710
关键字:

python自动运行代码

python 订阅