第一天   文件IO处理 1.读文件实例 file_split.python f = file('myFile.txt', 'r') for line in f.readlines(): line = line.strip('\n').split(':') print line myFile.txt ## # User Database # # Note that this file is consulted directly only when the system is running #…
目录 Python 文件I/O 打印到屏幕 读取键盘输入 打开和关闭文件 File对象属性 文件定位 重命名和删除文件 Python的目录 Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: #!/usr/bin/python # -*- coding: UTF-8 -*- print…
1.使用socket实现文件上传 server.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import os import SocketServer class MyServer(SocketServer.BaseRequestHandler): def handle(self): base_path = "/Users/liudaoqiang/" conn = self.request print "connected&…
例子: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') val = sys.stdi…
1.常见的错误 TypeError 类型错误 NameError 没有该变量 ValueError 不期望的值 AttributeError 没有该属性 UnboundLocalError 没有该局部变量 ImportError 没有该模块 IOError 打不开文件 IndexError 列表没有该下标 KeyError 字典没有该键 IndentationError 代码没有对齐 SyntaxError 语法错误 KeyboardError Ctrl+C被按下 2.示例代码 #!/usr/b…
1.基本内置函数 help() 帮助文档 dir() 列出当前文件的所有变量和方法 vars() 列出当前文件的所有变量及其值 type() 返回变量的类型 id() 返回变量的内存地址 len() 返回变量的长度 from package import module 导入模块 reload(package.module) 重新加载模块 2.基本运算内置函数 bool() 转化为bool值 abs() 获取绝对值 divmod() 返回商和余数的元组 max() 返回最大值 min() 返回最小…
1.在工程右键可选新建文件夹,包盒python文件 文件夹和包的区别在于,包包含一个空的__init__.py文件,而文件夹没有 2.pycharm的断点调试 点击Debug表示进入调试状态 点击Resume表示进入下一个断点,单步运行 点击Stop表示结束Debug 点击Run表示正常运行 注意:关于Debug报错为Interpreter option 未设置的问题:只需在setting中设置添加project interpreter即可,表示指定python的路径…
1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求 原理: a. 使用socket进行服务端和浏览器之间的通信 b. 使用多线程处理多个客户端浏览器的请求 c. 解析用户请求并使用http协议发送响应数据 实现: # coding:UTF-8 import socket import re from multiprocessing import Process def handle_request(client_socket): # 定义html服务器根目录 HTM…
1. 体验多进程的运行速度 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from multiprocessing import Pool import time def foo(n): time.sleep(1) return n * n if __name__ == "__main__": pool = Pool(10) data_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 这里只需要等待1S就能得到…
1. 线程的创建与运行 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from threading import Thread def foo(param1, param2): print "{0}{1}".format(param1, param2) if __name__ == "__main__": print "main thread running" thread = Thread(targe…
1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, name, capital, leader): self.name = name self.capital = capital self.leader = leader if __name__ == "__main__": hebei = Province("河北", &qu…
装饰器:在某个方法执行前后去执行其他新定义的行为 例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def before_say_hello(): print "before hello" def after_say_hello(): print "after hello" def say_hello_wrapper(func): def wrapper(): print "Before" befo…
例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import time if __name__ == "__main__": print time.time() //获取当前时间戳 print time.mktime(time.localtime()) //将结构化时间对象转化为时间戳 print time.localtime() //将时间戳转化为机构化时间对象,默认传入当前时间戳 print time.gmtime() //将时间戳…
序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import pickle if __name__ == "__main__": name_list = ["liudaoqiang", 11, 22, "success"…
示例代码如下: hashlib_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import hashlib def genPasswd(name): hash = hashlib.md5() hash.update(name.encode(encoding="UTF-8")) return hash.hexdigest() if __name__ == "__main__": print genPasswd…
常用函数 import random random.random() 生成0到1之间的小数 random.randint(begin, end) 生成[begin, end]之间的整数 random.randrange(begin, end) 生成[begin, end)之间的整数 例如: #!/usr/bin/env python #_*_ coding:UTF-8 _*_ if __name__ == "__main__": module_name = "yield_te…
1.如果在一个方法中有yield关键字则该方法返回的是一个生成器对象 2.对生成器对象进行操作必须进行迭代或循环处理 例如: yield_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def MyReadLines(): seek = 0 while True: with open('myFile.txt', 'rb') as f: f.seek(seek) line = f.readline() if line: seek = f.t…
1.可变参数,将传参自动汇总成列表 2.可变参数,将参数自动汇总成字典 实战如下: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def show(*args): for arg in args: print arg def show2(**kargs): for item in kargs.items(): print item if __name__ == "__main__": show('daoqiang', 'zhangsan',…
1.如何导入 from package import module module.function() 常用魔术方法 __init__.py 如果某个文件夹下面有该文件,则该文件夹是一个包,否则只是一个文件夹 __name__与__main__ 如果该问价是运行入口文件则__name__ 的值为__main__ ,否则__name__的值为package.module __file__ 返回该文件的绝对路径 __doc__ 返回该文件的描述信息…
dict = {key1:value1, key2:value2} 定义字典 dict[key] = value 设置字典中指定健的值 dict.pop(key) 删除字典中指定健 dict.popitem() 随机删除字典中的健 dict.clear() 清空元组 dict.update(dict2) 使用另一个字典更新, dict.setdefault(key, value) 如果该键存在则不设置,如果该键不存在则设置 dict.get(key, default_value) 获取指定健的值…
列表的使用: list.append(value) 向列表增加元素 list.insert(index, value) 向列表指定元素插入元素 list.extend(newlist) 用新的列表扩展列表 list.remove(value) 删除列表的指定值 del list[index] 删除指定索引的值 list.pop() 删除列表最后一个值 list.reverse() 列表反转 list.sort() 列表元素按ASCII码排序 list.count(value) 统计元素的个数 l…
例如: 1.使用三元表达式给变量赋值 result = '空' if x == None else x 2.使用lambda定义函数 add = lambda x, y: x+y…
特点: (1)无序 (2)不重复 使用场景: (1)关系测试 (2)去重 x & y 求交集 x | y 求并集 x - y 求差集 x ^ y 求对称差集 x.intersection(y) 求交集 x.union(y) 求并集 x.difference(y) 求茶集 x.symmetric_difference(y) 求对称差集 x.issubset(y) 判断x是否是y的子集 x.issuperset(y) 判断x是否包含y set.add(value) set.pop() 实战: >…
实时处理增量日志最佳实践 主要使用f.seek()和f.tell()实现 字符串处理函数: s.find(substr, start, end) 查找子字符串,找不到则返回-1,找到则返回对应的索引 s.rfind(substr, start, end) 从右侧开始查找子字符串,找不到则返回-1; 找到则返回对应的索引:返回的结果和find一样, s.index(substr, start, end) 查找返回子字符串的索引,找不到则报错,报错内容时substring not found s.r…
Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Python对象,又可以把它完整的取出来,这被称为持久的存储对象.类似的,还有一个功能与之相同的模块—cPickle,用c语言编写的,速度比pickle快1000倍. 2,示例: import cPickle as p shoplistfile='shoplist.data' shoplist=['apple…
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的优势,又抛弃了基层语言的繁杂. 第一天:函数的使用 和c语言一样,python有自己集成好的函数库,而我们就是使用..像字符串函数(可以使用help(str)进行查看): 会出来一大堆的形容,作为一个新手,我也根本不懂这到底是什么鬼,但是往下走,可以发现很多的函数. 许多的函数也是用英语在进行介绍,…
初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉的硬件该做什么事情的命令.软件就是这些程序的集合. 2.用什么来构造程序呢? 和人类之间沟通一样,计算机之间也是通过语言进行沟通的.这里所说的语言就是编程语言(编写程序的语言),每一种编程语言就是一种和计算机打交道的方法.就如英语,德语,法语,中文等.每一种编程语言就像各个国家的国语一样会有名字.有…
认识和尝试Python 备注:老男孩Python视频教程,视频来自网络,在此分享,侵删 对我来说,第一周视频主要解答了以下疑问: 1. Python的三大特点是什么? 答:解释型.动态类型(运行期间才做数据类型检查).强类型定义(一个变量只能存储一种类型的数据).[See More] 2. 应该使用Python2 还是 Python3 ? 答:尽管Python2应用也很广,尽管某些框架和库尚不支持Python3,但 Python3 是Python的未来,当然值得选择! 3. Pycharm中如何…
虽然之前自己也看过许多关于python的视频,但一直没有动力与勇气,所以未能坚持且也没有学得这么深刻,这次希望通过python自动化培训,能够彻底改变自己,通过第一天的python学习,自己学到了许多东西,如第一次写博客.第一次独立完成一个用Python实现登陆认证加三级菜单分级显示.第一次学会将自己的项目代码上传至开源库等等,自己感触很深,下面主要针对这一天学习的内容做下总结: 今天学会了列表及列表的相关特性,对印象较深的是: 1.append  在现有列表后新增加一个值 : >>>…
10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中.编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时读取整个文件:第二次打印时遍历文件对象:第三次打印时将各行存储在一个列表中,再在with 代码块外打印它们. 新建文件learning_python.tx…