03 2018 档案

摘要:请求不报错,不代表业务成功,Tools下面有个General Options,下面有个Display标签,勾上Show run_time viewer,回放的时候会出现右边的浏览器,如果输入的参数在某个场景时错误会把错误的信息打印出来,通过下图设置可以把参数化或关联的值打印出来,参数里的输入项一般需 阅读全文
posted @ 2018-03-30 18:21 laosun0204 阅读(507) 评论(0) 推荐(0) 编辑
摘要:xshell里显示乱码问题解决方案:第一步:输入echo $LANG可以查看当前使用的系统语言,如下图: 第二步:查看是否有中文语言包,可以在终端输入locale命令,如有上图表示已经安装了中文语言第三步:如果没有中文语言,可以通过网上下载安装中文语言包yum groupinstall chines 阅读全文
posted @ 2018-03-30 18:10 laosun0204 阅读(249) 评论(0) 推荐(0) 编辑
摘要:1、性能测试不是去找bug,而是要排除系统瓶颈2、关注点是how much 系统能承受多少并发 how fast 系统响应能有多快3、识别系统中的弱点 短板效应,找到并分析最差的事务4、系统调优(重复运行测试来进行定位调优)5、稳定性和可靠性 长时间运行,长时间压看系统怎么样6、评估系统能力 a.评 阅读全文
posted @ 2018-03-30 17:19 laosun0204 阅读(322) 评论(0) 推荐(0) 编辑
摘要:回数是指从左到右读和从右到左读都是一样的数,请利用filter()滤掉非回数(打印出1000内所有回数) 方法一: def is_palindrome(n): return str(n) == str(n)[::-1] # str(n)[::-1]代表字符串从后往前读,也代表字符串的翻转 outpu 阅读全文
posted @ 2018-03-30 15:34 laosun0204 阅读(365) 评论(0) 推荐(0) 编辑
摘要:lis = []for i in range(2, 101): j = 2 while j < i: if i % j == 0: break j += 1 # i % j == 0为假,j = j+1,然后在比较j < i,相当于else: j += 1 else: lis.append(i)pr 阅读全文
posted @ 2018-03-30 15:15 laosun0204 阅读(546) 评论(0) 推荐(0) 编辑
摘要:def triangle(n): lis = [1] # 定义一个list while True: yield lis # 打印出该list lis = [lis[x] + lis[x + 1] for x in range(len(lis) - 1)] # 计算下一行中间的值(除去两边的1) li 阅读全文
posted @ 2018-03-30 11:51 laosun0204 阅读(121) 评论(0) 推荐(0) 编辑
摘要:def fib(max_num): n, a, b = 0, 0, 1 while n < max_num: print(b) # 打印出来的就是裴波那契数列,从第三项开始,每一项都等于前两项之和 a, b = b, a+b n = n + 1 return 'done'fib(7)# 0,0,1 阅读全文
posted @ 2018-03-30 11:20 laosun0204 阅读(221) 评论(0) 推荐(0) 编辑
摘要:import smtplib,osfrom email.mime.text import MIMEText #引入邮件文本处理模块from email.mime.multipart import MIMEMultipart #引入邮件附件处理模块import base64class SendMail 阅读全文
posted @ 2018-03-26 22:22 laosun0204 阅读(139) 评论(0) 推荐(0) 编辑
摘要:import yagmail# 发送邮件,user为发送邮件的邮箱名,password为邮箱授权码,host为邮箱服务器,cc为抄送的邮箱# to为接收者的邮箱,多个邮箱用list,subject为邮件标题,contents为邮件正文,attachments为邮件带的附件(即生成的最新的报告)cla 阅读全文
posted @ 2018-03-25 16:35 laosun0204 阅读(130) 评论(0) 推荐(0) 编辑
摘要:import pymysqlimport redisimport requestsimport hashlibimport osfrom conf.settings import REPORT_PATHclass MyMysql(object): def __init__(self, host, p 阅读全文
posted @ 2018-03-24 18:04 laosun0204 阅读(141) 评论(0) 推荐(0) 编辑
摘要:MYSQL_INFO = { 'host':'127.0.0.1', # host不确定,到时候再改 'port':3306, # port不确定,到时候再改 'user':'guowang', # username不确定,到时候再改 'password':'123456', # password不 阅读全文
posted @ 2018-03-24 18:02 laosun0204 阅读(117) 评论(0) 推荐(0) 编辑
摘要:import unittestfrom conf.settings import HOST_INFOfrom lib.tools import my_request, my_md5, my_mysqlclass Reg(unittest.TestCase): def setUp(self): sel 阅读全文
posted @ 2018-03-24 18:01 laosun0204 阅读(135) 评论(0) 推荐(0) 编辑
摘要:import unittestfrom lib.tools import my_redis,my_request,my_mysqlfrom conf.settings import HOST_INFOclass Choujiang(unittest.TestCase): def setUp(self 阅读全文
posted @ 2018-03-24 16:30 laosun0204 阅读(139) 评论(0) 推荐(0) 编辑
摘要:import os,sysBASE_PATH =os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, BASE_PATH)import unittest,timeimport xmlrunner 阅读全文
posted @ 2018-03-24 16:28 laosun0204 阅读(133) 评论(0) 推荐(0) 编辑
摘要:框架二的目录结构如下: 项目名称是api_auto,有bin、cases、conf、lib和reports五个目录,每个目录包含的文件可以看到,把每个功能的测试用例存放到cases目录下,配置信息放在conf目录下,把各个函数放到lib目录下,把生成的测试报告存放到reports目录下,增加了发送报 阅读全文
posted @ 2018-03-24 16:20 laosun0204 阅读(93) 评论(0) 推荐(0) 编辑
摘要:首先启动Jenkins服务,然后在浏览器里输入localhost:8080,点击回车进入Jenkins页面,输入用户名laosun0204,密码a123456,如下图: 点击新建按钮,输入一个任务名称,名字随便取,选择构建一个自由风格的软件项目,点击确定,在描述里可以输入内容,也可以不输入,这里输入 阅读全文
posted @ 2018-03-21 23:05 laosun0204 阅读(128) 评论(0) 推荐(0) 编辑
摘要:Jenkins介绍 Jenkins是一个java开发的、开源的、非常好用持续集成的工具,它能帮我们实现自动化部署环境、测试、打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知 什么叫持续集成呢,就是能重复、持久的去运行一个任务 Jenkins下载、安装 Jenkins的下载地址是htt 阅读全文
posted @ 2018-03-21 17:48 laosun0204 阅读(221) 评论(0) 推荐(0) 编辑
摘要:import xlrd,requests,time,osfrom xlutils import copyfrom conf.settings import DATA_PATHdef readCase(case_path): case_list = [] # 存放所有的测试用例,给后面运行的时候使用 阅读全文
posted @ 2018-03-21 11:41 laosun0204 阅读(125) 评论(0) 推荐(0) 编辑
摘要:import yagmail# 发送邮件,user为发送邮件的邮箱名,password为邮箱授权码,host为邮箱服务器,cc为抄送的邮箱# to为接收者的邮箱多个邮箱用list,subject为邮件标题,contents为邮件正文,attachments为邮件带的附件(即生成的最新的报告)clas 阅读全文
posted @ 2018-03-21 11:39 laosun0204 阅读(135) 评论(0) 推荐(0) 编辑
摘要:import osimport timefrom conf.settings import REPORT_PATHclass HtmlReport(object): __style_html = ''' <style type="text/css"> body { font:normal 68% v 阅读全文
posted @ 2018-03-21 11:37 laosun0204 阅读(133) 评论(0) 推荐(0) 编辑
摘要:import timefrom lib import toolsfrom lib import reportfrom lib import sendmailfrom conf.settings import EMAIL_INFO,EMAIL_CONTENT_FORMATclass Main(): d 阅读全文
posted @ 2018-03-21 11:32 laosun0204 阅读(200) 评论(0) 推荐(0) 编辑
摘要:import osBASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))REPORT_PATH = os.path.join(BASE_PATH,'report') # 存放报告的目录DATA_PATH = os 阅读全文
posted @ 2018-03-21 11:28 laosun0204 阅读(98) 评论(0) 推荐(0) 编辑
摘要:import sys,os,threadingBASE_PATH = os.path.dirname( os.path.dirname(os.path.abspath(__file__)))sys.path.insert(0,BASE_PATH)from lib.main import Mainfr 阅读全文
posted @ 2018-03-21 11:26 laosun0204 阅读(97) 评论(0) 推荐(0) 编辑
摘要:框架一的目录结构如下: 项目名称是fuck_qtp,有bin、cases、conf、data、lib和report六个目录,每个目录包含的文件可以看到 把测试用例存放到cases目录下,把反写成功后的测试用例存放到data目录下,把生成的测试报告存放到report目录下 阅读全文
posted @ 2018-03-21 11:07 laosun0204 阅读(111) 评论(0) 推荐(0) 编辑
摘要:import unittestfrom nose_parameterized import parameterizeddef readCvs(file, sep = ','): # sep是表示以,为分隔符 lis = [] with open(file, 'rb') as f: # rb是什么格式 阅读全文
posted @ 2018-03-20 11:33 laosun0204 阅读(101) 评论(0) 推荐(0) 编辑
摘要:参数化文件里面的内容是这么展示的nhy,123456,Truessj,123456,Truessj,123456,False 将这个格式转成二维数组,如下格式:[ ['nhy', '123456', 'True'], ['ssj', '123456', 'True'], ['ssj', '12345 阅读全文
posted @ 2018-03-20 10:53 laosun0204 阅读(139) 评论(0) 推荐(0) 编辑
摘要:import unittest,HTMLTestRunnerfrom nose_parameterized import parameterizeddef login(username,passwd): if username == 'niuhanyang' and passwd == '12345 阅读全文
posted @ 2018-03-19 17:21 laosun0204 阅读(98) 评论(0) 推荐(0) 编辑
摘要:import unittest, HTMLTestRunnerdef login(username, passwd): if username == 'sunshujiang' and passwd == '123456': return '111' return Falsedef choujian 阅读全文
posted @ 2018-03-19 17:18 laosun0204 阅读(89) 评论(0) 推荐(0) 编辑
摘要:用例执行顺序是按照test后面的字母排序进行的,字母靠前先执行,靠后后执行 unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转,reason是跳转原因@unittest.skipIf(condition, reason):condition为True 阅读全文
posted @ 2018-03-19 16:20 laosun0204 阅读(162) 评论(0) 推荐(0) 编辑
摘要:首先要执行pip install nose-parameterized或pip install parameterized这个命令来实现参数化,这里用parameterized来实现,代码如下: import unittestimport parameterizedimport BeautifulR 阅读全文
posted @ 2018-03-19 16:05 laosun0204 阅读(92) 评论(0) 推荐(0) 编辑
摘要:import unittestimport HTMLTestRunnersuite = unittest.TestSuite() # 定义测试集合all_case = unittest.defaultTestLoader.discover(r'D:\python\byz-code\day11\AUT 阅读全文
posted @ 2018-03-19 15:02 laosun0204 阅读(135) 评论(0) 推荐(0) 编辑
摘要:HTMLTestRunner是帮助产生测试报告的,把HTMLTestRunner.py这个文件放到环境变量里,最简单的方法就是把HTMLTestRunner.py复制到External Libraries下面的任一目录里,这里我是放到了Lib目录下,以后即使在别的目录下也可以使用 TestCase是 阅读全文
posted @ 2018-03-19 14:26 laosun0204 阅读(110) 评论(0) 推荐(0) 编辑
摘要:同步IO就是在网上下载文件,立即就下载了异步IO效率比较高,就像买火车票不用在这等着,等票来了自动就通知你MQ就是存放消息的队列,取走一个就删除一个 unittest单元测试框架的概念:什么是框架?框架就是别人已经封装好的一些代码,它已经有了一些功能,咱们直接用就行了什么是测试框架?unittest 阅读全文
posted @ 2018-03-19 14:03 laosun0204 阅读(125) 评论(0) 推荐(0) 编辑
摘要:import smtplib,osfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport base64class SendMail(object): def __init__(s 阅读全文
posted @ 2018-03-18 22:42 laosun0204 阅读(94) 评论(0) 推荐(0) 编辑
摘要:import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart # 发送附件导入MIMEMultipart# username = 'sunshujiang184@163 阅读全文
posted @ 2018-03-18 22:30 laosun0204 阅读(106) 评论(0) 推荐(0) 编辑
摘要:import smtplibfrom email.mime.text import MIMETextemail_host = 'smtp.163.com'# 邮件服务器地址email_user = 'sunshujiang184@163.com'# 发送者账号email_pwd = 'a123456 阅读全文
posted @ 2018-03-18 21:40 laosun0204 阅读(101) 评论(0) 推荐(0) 编辑
摘要:import threading,time,requestsrun_times = []def blog(): start_time = time.time() r = requests.get('http://www.nnzhp.cn').text # 测试场景 end_time = time.t 阅读全文
posted @ 2018-03-18 21:34 laosun0204 阅读(75) 评论(0) 推荐(0) 编辑
摘要:首先pip install virtualenv,然后就可以使用virtualenv命令了,virtualenv name就可以创建一个文件夹,文件夹里有python的安装路径,新建项目时,选择虚拟的python环境就行,如下图: 点击Create按钮就进入了虚拟环境,虚拟环境就是拷出来的一个副本, 阅读全文
posted @ 2018-03-18 21:27 laosun0204 阅读(144) 评论(0) 推荐(0) 编辑
摘要:import multiprocessingimport timedef test(): time.sleep(2) print('over')if __name__ == '__main__': # windows必须加上这行,要不然会报错,mac不用加 for i in range(5): p 阅读全文
posted @ 2018-03-18 21:25 laosun0204 阅读(77) 评论(0) 推荐(0) 编辑
摘要:多个线程操作同一个数据的时候,就得加锁,python3里自动加上锁了 import threadinglock = threading.Lock() # 申请一把锁num = 0def add(): global num # lock.acquire() # 加锁 # # num += 1 # # 阅读全文
posted @ 2018-03-18 21:22 laosun0204 阅读(100) 评论(0) 推荐(0) 编辑
摘要:单线程下载文件: import requestsimport timefrom hashlib import md5def down_load_pic(url): req = requests.get(url) m = md5(url.encode()) with open(m.hexdigest( 阅读全文
posted @ 2018-03-18 10:38 laosun0204 阅读(123) 评论(0) 推荐(0) 编辑
摘要:多线程把六个网站写到文件里(串行) import requests,time,threading def write_html(url,name): r = requests.get(url) with open(name,'w',encoding = 'utf8') as f: f.write(r 阅读全文
posted @ 2018-03-18 10:34 laosun0204 阅读(114) 评论(0) 推荐(0) 编辑
摘要:import threading,time def axb(name): time.sleep(1) print('哈哈',name) for i in range(10): t = threading.Thread(target = axb,args = (i,)) # 实例化一个线程,启动一个线 阅读全文
posted @ 2018-03-18 10:33 laosun0204 阅读(130) 评论(0) 推荐(0) 编辑
摘要:当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。例如,在不使用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为鸭的对象,并调用它的走和叫方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意 阅读全文
posted @ 2018-03-17 18:36 laosun0204 阅读(206) 评论(1) 推荐(0) 编辑
摘要:class My: def __init__(self, x=0): self.x = xmy = My()# hasattr判断对象(my)是否有'x'属性,打印True or False,只能是'x',不能是xprint(hasattr(my, 'x')) # 打印出True# 从对象中获取'x 阅读全文
posted @ 2018-03-17 17:16 laosun0204 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1、修改hosts文件: 添加下面一行到hosts文件,目的是屏蔽掉Pycharm对激活码的验证,将0.0.0.0 account.jetbrains.com复制到hosts文件的最下面,保存之后关闭hosts windows系统hosts文件路径为:C:\Windows\System32\driv 阅读全文
posted @ 2018-03-17 15:34 laosun0204 阅读(6354) 评论(0) 推荐(0) 编辑
摘要:import pymysqlclass MyConnect(object): def __init__(self, host, port, user, password, db, charset = 'utf8'): self.host = host self.port = port self.us 阅读全文
posted @ 2018-03-16 13:56 laosun0204 阅读(129) 评论(0) 推荐(0) 编辑
摘要:from hashlib import md5from urllib import parseclass DglSign(object): def __init__(self,vendorId,data): self.vendorId = str(vendorId) self.data = data 阅读全文
posted @ 2018-03-16 13:54 laosun0204 阅读(114) 评论(0) 推荐(0) 编辑
摘要:python面向对象编程类面向对象的开发语言一切皆对象面向过程面向对象面向对象它是包含面向过程的 类是一类东西,一个模型;实例是通过这个模型造出来的东西,类和对象的关系就是抽象和具体的关系对象即实例,实例化就是造实例的过程 面向的对象的三个特性封装:就是把零散代码封装成一个函数,或者封装成一个类继承 阅读全文
posted @ 2018-03-15 22:49 laosun0204 阅读(124) 评论(0) 推荐(0) 编辑
摘要:# A、输入数据:# 1、请求数据:# vendorId=1697&posCode=pos006&ip=127.0.0.1&posVersion=2.1.1.1.1&mac=;D4-81-D7-CA-20-29;7C-67-A2-9A-06-05;7C-67-A2-9A-06-06;7C-67-A2 阅读全文
posted @ 2018-03-15 22:01 laosun0204 阅读(139) 评论(0) 推荐(0) 编辑
摘要:base64加密,可以加密和解密,下面是两个函数,md5不能解密 import base64def base64_data_encode(st): # 这个函数是用来base64加密的 salt = 'JMY12345' new_str = str(st) + salt encode_str = b 阅读全文
posted @ 2018-03-14 15:58 laosun0204 阅读(106) 评论(0) 推荐(0) 编辑
摘要:首先要安装requests模块,pip install requests,接口文档地址是http://doc.nnzhp.cn/ import requestsurl = 'http://api.nnzhp.cn/api/user/stu_info'data = {'stu_name': '小黑'} 阅读全文
posted @ 2018-03-14 11:42 laosun0204 阅读(111) 评论(0) 推荐(0) 编辑
摘要:from urllib.parse import quote # url编码用的from urllib.parse import unquote # url解码用的a = '圣诞%sfd'print(quote(a)) # 会打印出%E5%9C%A3%E8%AF%9E%25sfd这种编码b = '% 阅读全文
posted @ 2018-03-13 23:05 laosun0204 阅读(94) 评论(0) 推荐(0) 编辑
摘要:发get请求的代码如下: from urllib import parsefrom urllib import requestimport json# get请求url = 'http://api.nnzhp.cn/api/user/stu_info'data_info = {'stu_name': 阅读全文
posted @ 2018-03-13 22:56 laosun0204 阅读(83) 评论(0) 推荐(0) 编辑
摘要:异常处理的原理就是捕获到可能出现的异常,为了保证程序遇到异常后继续运行,可通过try和except来实现,把可能出现异常的代码放在try里面,格式如下图的固定显示,e也可以改成别的名字,print(e)会把报错信息打印出来,可以把具体的异常写上,也可以直接用Exception,try 和except 阅读全文
posted @ 2018-03-13 17:42 laosun0204 阅读(91) 评论(0) 推荐(0) 编辑
摘要:@server.route('/add_stu',methods = ['post'])def add_stu(): sign = request.json.get('sign','') # 必填参数 username = request.json.get('username','') # 必填参数 阅读全文
posted @ 2018-03-13 16:18 laosun0204 阅读(162) 评论(0) 推荐(0) 编辑
摘要:@server.route('/login',methods = ['get','post'])def login(): username = request.values.get('username','') # 获取参数用户名,如果没有获取到,默认是空字符串 password = request 阅读全文
posted @ 2018-03-13 16:05 laosun0204 阅读(124) 评论(0) 推荐(0) 编辑
摘要:8、有一个存着学生成绩的文件,里面存的是json串,json串读起来特别不直观,需要你写代码把它都写到excel中,并计算出总分和平均分,json格式如下 1 2 3 4 5 { "1":["小花",99,100,98.5], "2":["小王",90,30.5,95], "3":["小明",67. 阅读全文
posted @ 2018-03-12 15:24 laosun0204 阅读(142) 评论(0) 推荐(0) 编辑
摘要:mock接口顾名思义就是模拟接口的意思,模拟第三方数据交互的接口,当第三方的接口没有提供之前,我们自己写mock接口和自己的系统数据对接测试,如果不想让别人连接数据库,可以mock接口,让别人调这个接口看数据 import flaskimport jsonserver = flask.Flask(_ 阅读全文
posted @ 2018-03-12 11:50 laosun0204 阅读(178) 评论(0) 推荐(0) 编辑
摘要:import xlutilsfrom xlutils.copy import copyimport xlrdimport os#需求分析:1、打开一个要修改的excel2、拷贝上面的excel3、修改拷贝的excel里面的内容,保存4、删除第1步打开的excel,把修改后的新excel改成原来的名字 阅读全文
posted @ 2018-03-11 18:18 laosun0204 阅读(152) 评论(0) 推荐(0) 编辑
摘要:# 需求分析:1、读出stu.xls文件里的内容2、判断,如果是1用已交作业表示,如果是空用未交作业表示3、拼接sql4、插入到数据库里的jxz_stu表里,四个字段为name,c1,c2,c3 def con_mysql(sql): import pymysql conn = pymysql.co 阅读全文
posted @ 2018-03-11 17:45 laosun0204 阅读(95) 评论(0) 推荐(0) 编辑
摘要:import pymysql,xlwtdef con_mysql(sql): conn = pymysql.connect(host='211.149.218.16', user='jxz', password='123456', db='jxz', charset='utf8') cur = co 阅读全文
posted @ 2018-03-11 12:55 laosun0204 阅读(113) 评论(0) 推荐(0) 编辑
摘要:方法一:import xlwtbook = xlwt.Workbook() # 创建一个excelsheet = book.add_sheet('sheet1') # 添加一个sheet页,也可把sheet1改成别的名字sheet.write(0,0,'姓名') # 0行,0列,写入内容sheet. 阅读全文
posted @ 2018-03-10 23:28 laosun0204 阅读(174) 评论(0) 推荐(0) 编辑
摘要:filter:filter()函数接收两个参数,第一个是function or None,第二个是iterable,filter就是挨个把后面的元素传入到前面的函数,filter帮你循环调用这个函数,把可迭代对象里非True的过滤掉 例1:def odd(x): return x % 2 # 返回所 阅读全文
posted @ 2018-03-10 22:32 laosun0204 阅读(160) 评论(0) 推荐(0) 编辑
摘要:1、写一个随机生成身份证号的程序,输入多少条就产生多少个,把产生完的数据写到redis里面,key用哈希类型,例如Xiaohei 410881198312031241 start.py里面的代码如下: import sys,osbase_path = os.path.dirname(os.path. 阅读全文
posted @ 2018-03-10 16:11 laosun0204 阅读(52) 评论(0) 推荐(0) 编辑
摘要:mysql数据存在磁盘里,mysql数据库:host是211.149.218.16,端口是3306,用户名是jxz,密码是123456,db也是jxzimport pymysqlconnect1 = pymysql.connect(host='211.149.218.16', port=3306, 阅读全文
posted @ 2018-03-09 17:18 laosun0204 阅读(118) 评论(0) 推荐(0) 编辑
摘要:读1m的数据从磁盘和从内存上读,相差100倍,redis是一个数据库,他的数据全都是存放在内存里面的,redis每秒能支持30w次的读写 首先启动本地的redis,客户端启动命令是,首先解压Redis-x64-3.2.100.zip,进入Redis-x64-3.2.100文件夹下执行redis-se 阅读全文
posted @ 2018-03-09 14:13 laosun0204 阅读(145) 评论(0) 推荐(0) 编辑
摘要:import hashlibmd = hashlib.md5() # 构造一个md5对象s = 'ssj123'md.update(s.encode()) # 把字符串变成bytes类型,如果不加encode()就会报错 print(md.digest()) # 打印生成b'\xa4:\x03f\x 阅读全文
posted @ 2018-03-08 18:02 laosun0204 阅读(112) 评论(0) 推荐(0) 编辑
摘要:json.dumps方法将字典转成json串: import jsonuser_info = { 'name': '孙树江', 'age': 30, 'addr': '北京' }f = open('aaa.json', 'w', encoding='utf8') # 运行完在aaa.json文件里看 阅读全文
posted @ 2018-03-08 15:37 laosun0204 阅读(146) 评论(0) 推荐(0) 编辑
摘要:#需求分析:#1、前三位确定,可以定义一个list,如lis = ['131', '132', '133', '134', '135','136','137','138','139','158', '159', '185', '186', '188']#2、后面的八位随机取,通过random.sam 阅读全文
posted @ 2018-03-08 11:49 laosun0204 阅读(137) 评论(0) 推荐(0) 编辑
摘要:1、当前目录下有很多文件夹、文件,统计/usr/local/这个目录下,如果是文件,那么就给删除 /usr/local/,自己创建一下目录和文件,实现这个功能 import osfpath = os.path.join(os.getcwd(),'usr\local') # 按照题意生成新的路径是D: 阅读全文
posted @ 2018-03-07 17:57 laosun0204 阅读(131) 评论(0) 推荐(0) 编辑
摘要:import在去寻找python文件的时候,首先从当前目录下找,当前目录没有就去环境变量里找,这个环境变量是python自己的环境变量,如果跨文件夹import,就得把那个要import的文件夹的路径加到环境变量里来,这样就可以使用这个文件夹下面的文件了 import sysprint(sys.pa 阅读全文
posted @ 2018-03-07 11:09 laosun0204 阅读(179) 评论(0) 推荐(0) 编辑
摘要:一个python文件就是一个模块,一个模块也是一个python文件1、标准模块、标准包:python自带的这些模块import time,string,random2、第三方模块(别人写好的,需要自己安装)a、pip/pip.exe install + ruanjian在python3里面pip是自 阅读全文
posted @ 2018-03-06 17:24 laosun0204 阅读(142) 评论(0) 推荐(0) 编辑
摘要:深拷贝和浅拷贝的区别:浅拷贝指向同一块内存地址,深拷贝是开辟了另外一个内存地址,但是内存地址变了不一定是深拷贝 import copya = ['123', ['aaa', 'bbb']]b = copy.deepcopy(a) # 深拷贝是重新开辟了一块内容空间,a和b地址不一样了c = a[:] 阅读全文
posted @ 2018-03-06 17:05 laosun0204 阅读(167) 评论(0) 推荐(0) 编辑
摘要:import timefor i in range(10): time.sleep(1) print('#', end='', flush=True) # end =代表以什么结束,默认是以\n换行结束# 默认flush=False,10秒后一次性打印10个#,flush=True可以正确实现,间隔 阅读全文
posted @ 2018-03-06 16:58 laosun0204 阅读(124) 评论(0) 推荐(0) 编辑
摘要:# 1、作业:# 先让你登录 # { # "nhy":{"passwd":123,'role':1,'money':10000,"carts":['mac']}, # "nhy2":{"passwd":123,'role':2,'money':10000,"carts":[]} # } # role 阅读全文
posted @ 2018-03-06 16:54 laosun0204 阅读(153) 评论(0) 推荐(0) 编辑
摘要:import timepointer = 0 # 存文件指针变量while True: with open('access.log') as fr: # access.log文件在pycharm的day4里 ips = [] fr.seek(pointer) # 移动指针 for line in f 阅读全文
posted @ 2018-03-02 16:22 laosun0204 阅读(120) 评论(0) 推荐(0) 编辑
摘要:修改文件的第一种方式(小文件用这种方式): f = open('b.txt', 'a+', encoding='utf-8')f.seek(0)res = f.read()new_res = res.replace('1', '5')f.seek(0)f.truncate() # 清空文件f.wri 阅读全文
posted @ 2018-03-02 14:52 laosun0204 阅读(129) 评论(0) 推荐(0) 编辑
摘要:def is_float(s): s = str(s).strip() if s.count('.') == 1: left, right = s.split('.') if left.isdigit() and right.isdigit(): # 正小数 return True # 负小数 el 阅读全文
posted @ 2018-03-02 13:50 laosun0204 阅读(123) 评论(0) 推荐(0) 编辑
摘要:import randomimport stringcount = input('请输入你要产生多少条密码:').strip()passwords = set()if count.isdigit(): while len(passwords) < int(count): pwd = set(rand 阅读全文
posted @ 2018-03-01 17:25 laosun0204 阅读(122) 评论(0) 推荐(0) 编辑
摘要:集合可以去掉重复的,s = set(),这种形式是集合,集合是无序的,可以把所有的可迭代对象转为集合xn = ['ggy', 'agr', 'hello']python = ['ggy', 'ssj', 'zy']s_xn = set(xn)s_python = set(python)print(s 阅读全文
posted @ 2018-03-01 16:08 laosun0204 阅读(141) 评论(0) 推荐(0) 编辑