linux运维开发基础
python开发基础学习、数据类型、if语句、while循环语句、for循环语句、文件操作、函数操作、shutil模块、内建函数、列表、字典详解、时间方法、异常处理、系统模块、模块和包、正则表达式、re模块、socket模块
解甲归田1
种一棵树最好的时间是十年前,其次是现在。
展开
-
《云计算全栈》-python篇:出版商程序
3 案例3:出版商程序 3.1 问题 创建books.py文件,实现以下目标: 为出版商编写一个Book类 Book类有书名、作者、页数等属性 打印实例时,输出书名 调用实例时,显示该书由哪个作者编写 3.2 方案 创建一个类,类中创建3种魔法方法: 1.__init__方法:__init__方法用于初始化实例属性,创建对象后会自动调用__init__方法,属于构造器方法,此处初始化了书名及作者...原创 2020-03-08 00:52:22 · 148 阅读 · 0 评论 -
《云计算全栈》-python篇:编写酒店类
2 案例2:编写酒店类 2.1 问题 创建hotel.py脚本,要求如下: 用于计算住宿开销 酒店有会员卡可以打九折 每天早餐15元 根据住宿天数返加总费用 2.2 方案 创建一个酒店类,类中定义2种方法: 1.__init__方法:__init__方法用于初始化属性,创建对象后会自动调用__init__方法,属于构造器方法,此处初始化了房间、早餐以及折扣3个属性,并给出了默认参数,此处属性绑定...原创 2020-03-08 00:51:43 · 297 阅读 · 0 评论 -
《云计算全栈》-python篇:备份程序-支持完全和增量备份、周一执行完全备份、 其他时间执行增量备、备份文件需要打包为tar文件并使用gzip格式压缩
1 案例1:备份程序 1.1 问题 编写backup.py脚本,实现以下目标: 需要支持完全和增量备份 周一执行完全备份 其他时间执行增量备份 备份文件需要打包为tar文件并使用gzip格式压缩 1.2 方案 整体框架创建3个函数,分别实现完全备份、增量备份、文件加密3种功能: 1.首先导入time模块,利用if进行判断,如果当地时间是星期一,执行完全备份函数,否则执行增量备份函数,其中,通配符...原创 2020-03-08 00:50:34 · 156 阅读 · 0 评论 -
《云计算全栈》-python篇:使用装饰器实现-测试程序运行效率
4 案例4:测试程序运行效率 4.1 问题 创建deco.py脚本,要求如下: 有个程序包含多个函数 程序运行耗时较长 为了确定哪个函数是瓶颈,需要计算出每个函数运行时间 要求使用装饰器实现 4.2 方案 如果一个程序有多个函数,查看每个函数运行耗时时长,这时如果修改每个函数,为它加上计时的功能,我们需要耗时去了解每个函数的功能,思考如何修改去增加计时功能,这样会相当繁琐,为避免这种现象出现,我...原创 2020-03-08 00:48:47 · 158 阅读 · 0 评论 -
《云计算全栈》-python篇:利用递归,实现快速排序
3 案例3:快速排序 3.1 问题 创建qsort.py文件,实现以下目标: 随机生成10个数字 利用递归,实现快速排序 3.2 方案 将要排序的数据分割成独立的三部分,任意选取一个数据作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序,整个排序过程通过递归进行,以此达到整个数据变成有序序列。 一趟快速排序的算法是: 1.创建两个空列表分别用于存...原创 2020-03-08 00:48:07 · 148 阅读 · 0 评论 -
《云计算全栈》-python篇:简单GUI程序
2 案例2:简单GUI程序 2.1 问题 创建mygui.py脚本,要求如下: 窗口程序提供三个按钮 其中两个按钮的前景色均为白色,背景色为蓝色 第三个按钮前景色为红色,背景色为红色 按下第三个按钮后,程序退出 2.2 方案 1.导入tkinter模块、创建顶层窗口,顶层窗口只应该创建一次 2.添加窗口部件:用Label控件创建标签、用Butten控件来创建按钮 3.引入偏函数partial把t...原创 2020-03-08 00:46:50 · 184 阅读 · 0 评论 -
《云计算全栈》-python篇:简单的加减法数学游戏
1 案例1:简单的加减法数学游戏 1.1 问题 编写math_game.py脚本,实现以下目标: 随机生成两个100以内的数字 随机选择加法或是减法 总是使用大的数字减去小的数字 如果用户答错三次,程序给出正确答案 1.2 方案 创建4个函数,分别实现返回两数之和、返回两数之差、判断表达式正确性、是否继续计算四种方法: 1.首先调用main()函数(是否继续计算功能),main函数利用循环无限次...原创 2020-03-08 00:44:59 · 346 阅读 · 0 评论 -
《云计算全栈》-python篇:记账程序
案例7:记账程序 11.1 问题 创建account.py脚本,要求如下: 假设在记账时,有一万元钱 无论是开销还是收入都要进行记账 记账内容包括时间、金额和说明等 记账数据要求永久存储 11.2 方案 创建4个函数,分别实现记录开销、记录收入、查询收支、判断函数调用的四个方法,导入时间模块获取时间,导入os模块判断文件是否存在,导入pickle模块用来python特有类型与数据类型转换: 1....原创 2020-03-08 00:43:52 · 340 阅读 · 0 评论 -
《云计算全栈》-python篇:系统模块、操作文件系统
案例6:操作文件系统 9.1 问题 创建os_module.py脚本,熟悉os模块操作,要求如下: 切换到/tmp目录 创建example目录 切换到/tmp/example目录 创建test文件,并写入字符串foo bar 列出/tmp/exaple目录内容 打印test文件内容 反向操作,把test文件以及example目录删除 9.2 方案 用os方法查看用户当前所在位置,切换到指定目录,...原创 2020-03-08 00:43:11 · 172 阅读 · 0 评论 -
《云计算全栈》-python篇:自定义异常
7 案例5:自定义异常 7.1 问题 创建myerror.py脚本,要求如下: 编写第一个函数,函数接收姓名和年龄,如果年龄不在1到120之间,产生ValueError异常 编写第二个函数,函数接收姓名和年龄,如果年龄不在1到120之间,产生断言异常 7.2 方案 两个函数,分别有引发异常及断言异常的功能: 1.当set_age()函数调用名字与年龄两个实参时,如果年龄在0-120范围内,打印“...原创 2020-03-08 00:42:12 · 232 阅读 · 0 评论 -
《云计算全栈》-python篇:简化除法判断
5 案例4:简化除法判断 5.1 问题 创建mydiv.py脚本,要求如下: 提示用户输入一个数字作为除数 如果用户按下Ctrl+C或Ctrl+D则退出程序 如果用户输入非数字字符,提示用户应该输入数字 如果用户输入0,提示用户0不能作为除数 5.2 方案 首先,执行try子句(在关键字try和关键字except之间的语句),输入数字,让这个数字被100整除, 1.如果没有异常发生,忽略exce...原创 2020-03-08 00:41:22 · 156 阅读 · 0 评论 -
《云计算全栈》-python篇:编写类进度条程序
4 案例3:编写类进度条程序 4.1 问题 创建railway.py文件,实现以下目标: 在屏幕上打印20个#号 符号@从20个#号穿过 当@符号到达尾部,再从头开始 4.2 方案 利用while循环方法依次打印1个@和19个#,每循环一次,@所在位置后移一位,利用\r后内容覆盖前面内容,并利用程序休眠时间差,达到动态效果,需要注意的是: 1.\r表示将输出的内容返回到第一个指针,后面的内容会覆...原创 2020-03-08 00:40:33 · 100 阅读 · 0 评论 -
《云计算全栈》-python篇:编写程序,将unix文本文件格式转换为windows文本文件的格式
2 案例2:编写unix2dos的程序 2.1 问题 创建unix2dos.py脚本,要求如下: Windows文本文件的行结束标志是\r\n 类unix文本文件的行结束标志是\n 编写程序,将unix文本文件格式转换为windows文本文件的格式 2.2 方案 更改新文件格式,利用复制文件方式,将原文件内容写入新文件 将上传的实参(即unix文件名)转化为windows文本格式(即后缀增加.t...原创 2020-03-08 00:38:28 · 407 阅读 · 0 评论 -
《云计算全栈》-python篇:模拟用户登陆信息系统
1 案例1:模拟用户登陆信息系统 1.1 问题 编写login.py脚本,实现以下目标: 支持新用户注册,新用户名和密码注册到字典中 支持老用户登陆,用户名和密码正确提示登陆成功 主程序通过循环询问进行何种操作,根据用户的选择,执行注册或是登陆操作 1.2 方案 创建空字典存储用户名、密码,用三个函数分别实现用户注册、用户登录以及判断调用函数这三个方法,完成模拟用户登录: 1.调用show_me...原创 2020-03-08 00:37:34 · 260 阅读 · 0 评论 -
《云计算全栈》-python篇:用列表构建栈结构、创建空列表存储数据,创建4个函数,分别实现压栈、出栈、查询以及判断函数调用的方法。
5 案例5:用列表构建栈结构 5.1 问题 创建stack.py脚本,要求如下: 栈是一个后进先出的结构 编写一个程序,用列表实现栈结构 需要支持压栈、出栈、查询功能 5.2 方案 创建空列表存储数据,创建4个函数,分别实现压栈、出栈、查询以及判断函数调用的方法。 此程序需要注意的是堆栈的结构特点,先进后出,后进先出: 1.调用show_menu()函数后,利用while循环交互端输出提示,请用...原创 2020-03-08 00:35:02 · 194 阅读 · 0 评论 -
《云计算全栈》-python篇:格式化输出脚本
4.2 方案 利用for循环方式遍历获取到的用户输入数据列表,将用户输入的每一条数据依次遍历出来 通过format()方法,把遍历得到的字符串当作一个模版,通过传入的参数进行格式化。这个用来格式化的模版使用大括号({,})作为特殊字符,其中^代表居中对齐、48代表宽度。 4.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:编写脚本 将mktxtfile文件的代码以模块形式导入以下代码中,直接调...原创 2020-03-08 00:33:47 · 173 阅读 · 0 评论 -
《云计算全栈》-python篇:python编写创建用户脚本
3 案例3:创建用户 3.1 问题 创建adduser.py文件,实现以下目标: 编写一个程序,实现创建用户的功能 提示用户输入用户名 随机生成8位密码 创建用户并设置密码 将用户相关信息写入指定文件 3.2 方案 创建add_user()函数,让函数具有创建用户、创建密码、将用户密码写入到指定文件三种方法,因此为函数设置3个参数,分别是用户名、密码及用户名密码存放文件,最终通过函数调用上传实参...原创 2020-03-08 00:32:08 · 290 阅读 · 0 评论 -
《云计算全栈》-python篇:检查标识符
2 案例2:检查标识符 2.1 问题 创建checkid.py脚本,要求如下: 程序接受用户输入 判断用户输入的标识符是否合法 用户输入的标识符不能使用关键字 有不合法字符,需要指明第几个字符不合法 2.2 方案 本题主要利用标识符命名规则从三方面判断用户输入标识符是否合法, 首先,如果用户输入的第一个字符(用切片方式拿出idt第一个字符)不是以大小写字母或下划线开头,返回’第一个字符不合法’ ...原创 2020-03-08 00:31:26 · 204 阅读 · 0 评论 -
《云计算全栈》-python篇:创建文件
1 案例1:创建文件 1.1 问题 编写mktxtfile.py脚本,实现以下目标: 编写一个程序,要求用户输入文件名 如果文件已存在,要求用户重新输入 提示用户输入数据,每行数据先写到列表中 将列表数据写入到用户输入的文件名中 1.2 方案 用三个函数分别实现文件名获取、文件内容获取、将获取到的文件内容写入get_fname()函数获取的文件中 这三个方法,最终调用三个函数,完成文件创建: 1...原创 2020-03-08 00:30:27 · 173 阅读 · 0 评论 -
《云计算全栈》-python篇:实现猜数字游戏
5 案例5:猜数程序 5.1 问题 编写guess.py脚本,实现以下目标: 系统随机生成100以内的数字 要求用户猜生成的数字是多少 最多猜5次,猜对结束程序 如果5次全部猜错,则输出正确结果 5.2 方案 引用random模块生成1-100的随机数,用while循环语句让猜数字次数大于0,提示并获取用户输入整数值,在进行猜数字对错判断前先用if嵌套判断方式确定输入值是否合法,如果合法进行猜数...原创 2020-03-08 00:26:34 · 245 阅读 · 0 评论 -
《云计算全栈》-python篇:编写石头剪刀布小游戏、附带升级脚本-循环版石头剪刀布小游戏
3 案例3:编写石头剪刀布小游戏 3.1 问题 编写game.py脚本,实现以下目标: 计算机随机出拳 玩家自己决定如何出拳 代码尽量简化 3.2 方案 引用random模块生成0-2的随机数,提示并获取用户的整数输入值,应用if扩展语句对随机数与输入值进行对比判断,满足指定条件,输出结果 为简化代码,玩家获胜条件中用and和or两个逻辑运算符进行多个条件内容的判断,用括号来区分运算优先级,所以...原创 2020-03-08 00:25:37 · 444 阅读 · 0 评论 -
《云计算全栈》-python篇:编写判断成绩的程序
2 案例2:编写判断成绩的程序 2.1 问题 编写grade.py脚本,根据用户输入的成绩分档,要求如下: 如果成绩大分60分,输出“及格” 如果成绩大于70分,输出“良” 如果成绩大于80分,输出“好” 如果成绩大于90分,输出“优秀” 否则输出“你要努力了” 2.2 方案 本题需要注意的是逻辑顺序。在多分支的if语句中,自顶向下逐步匹配,一旦匹配则执行相应的子语句,其他语句将不再执行。 因此...原创 2020-03-08 00:23:47 · 374 阅读 · 0 评论 -
《云计算全栈》-Python篇:实现判断合法用户
1 案例1:判断合法用户 1.1 问题 编写login2.py脚本,实现以下目标: 提示用户输入用户名和密码 将用户名和密码分别保存在变量中 如果用户名为bob并且密码为123456,则输出Login successful,否则输出Login inorrect 1.2 方案 本题主要是复合的判断语句,写法有如下两种: 1.使用两个判断语句,先判断用户名,如果用户名正确再判断密码是否正确 2.在一...原创 2020-03-08 00:23:01 · 269 阅读 · 0 评论 -
《云计算全栈》-python篇:python生成随机密码代码详解
4 案例4:生成随机密码 4.1 问题 创建randpass.py脚本,要求如下: 编写一个能生成8位随机密码的程序 使用random的choice函数随机取出字符 改进程序,用户可以自己决定生成多少位的密码 4.2 方案 导入random模块,通过random静态对象调用choice()方法,从自定义字符串all_chs中获取随机项,将获取到的随机字符ch与原result值进行拼接,将最终字符...原创 2020-03-08 00:20:55 · 245 阅读 · 0 评论 -
《云计算全栈》-python篇:使用python模拟cp操作、编写脚本实现linux中cp操作
3 案例3:模拟cp操作 3.1 问题 创建cp.py文件,实现以下目标: 将/bin/ls“拷贝”到/root/目录下 不要修改原始文件 3.2 方案 获取用户原文件名和新文件名,打开原文件,打开新文件,从打开的原文件中读取数据,写入到打开的新文件中,关闭两个文件 cp代码的过程中,需要注意的部分在于: 如果一个文件过大,你将无法直接读取数据到内存,此时,使用while循环语句,分次读取数据,...原创 2020-03-08 00:20:02 · 375 阅读 · 0 评论 -
《云计算全栈》-python篇:python实现九九乘法表代码详解
2 案例2:九九乘法表 2.1 问题 创建mtable.py脚本,要求如下: 程序运行后,可以在屏幕上打印出九九乘法表 修改程序,由用户输入数字,可打印任意数字的乘法表 2.2 方案 本题主要用for循环双层嵌套方式编写脚本,需要注意的是: 1.外层for循环用内置函数range,将1~9范围内的每个数字,依次装入自定义变量i中,此时,变量i被循环赋值9次 2.内层for循环将1~变量i范围内的...原创 2020-03-08 00:18:25 · 520 阅读 · 0 评论 -
《云计算全栈》-python篇:python实现斐波那契数列的三种写法
1 案例1:斐波那契数列 1.1 问题 编写fib.py脚本,实现以下目标: 斐波那契数列就是某一个数,总是前两个数之和,比如0,1,1,2,3,5,8 使用for循环和range函数编写一个程序,计算有10个数字的斐波那契数列 改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列 1.2 方案 本题主要是for循环语句,写法有如下两种: 1.输入一个变量确定列表长度,for循环用...原创 2020-03-08 00:16:46 · 201 阅读 · 0 评论 -
《云计算全栈》-python篇:linux下git配置及本地操作详解、自建gitlab服务器
2 案例2:配置git 2.1 问题 安装git版本控制软件 设置用户信息,如用户名、email等 设置默认编辑器为vim 查看用户配置 2.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:安装git版本控制软件 [root@localhost ~]# yum install -y git 已安装: git.x86_64 0:1.8.3.1-11.el7 ...原创 2020-03-08 00:14:37 · 251 阅读 · 0 评论 -
《云计算全栈》-python篇:linux下安装python环境
1 案例1:准备python开发环境 1.1 问题 下载最新版本的python3 下载pycharm社区版 安装python3,使其支持Tab键补全 配置pycharm,使其符合自己的习惯 1.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:下载最新版python3 首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的D...原创 2020-03-08 00:10:49 · 253 阅读 · 0 评论