python之旅【第二篇】
1,文件操作
找到文件-----打开文件------文件操作-----------文件关闭
file_open = file(文件路径,模式)
读取文件:
M.read()
obj = M.readlines()--------- #一行行读取,并且obj为一个列表
关于读取模式:
Table mode
|
模式 |
描述 |
|
r |
以读方式打开文件,可读取文件信息。 |
|
w |
以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容 |
|
a |
以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 |
|
r+ |
以读写方式打开文件,可对文件进行读和写操作。 |
|
w+ |
消除文件内容,然后以读写方式打开文件。 |
|
a+ |
以读写方式打开文件,并把文件指针移到文件尾。 |
|
b |
以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 |
Table 文件对象方法
|
方法 |
描述 |
|
f.close() |
关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。 |
|
f.fileno() |
获得文件描述符,是一个数字 |
|
f.flush() |
刷新输出缓存 |
|
f.isatty() |
如果文件是一个交互终端,则返回True,否则返回False。 |
|
f.read([count]) |
读出文件,如果有count,则读出count个字节。 |
|
f.readline() |
读出一行信息。 |
|
f.readlines() |
读出所有行,也就是读出整个文件的信息。 |
|
f.seek(offset[,where]) |
把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。 |
|
f.tell() |
获得文件指针位置。 |
|
f.truncate([size]) |
截取文件,使文件的大小为size。 |
|
f.write(string) |
把string字符串写入文件。 |
|
f.writelines(list) |
把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 |
2.变量管理
只要内存里存在,则就能使用
if ==:
name =
print name
print name
2.1三元运算:
name = 值1 if 条件 else 值2 name = if == else #if成立的话,就执行前面的,不成力就执行后面的
3进制了解
二进制,十进制,十六进制,八进制
4,pycharm的使用
4.1
可以断点调试, 补全代码
一般步骤:
创建project--------配置解释器-------创建文件---------执行文件(run/debug)
我们使用pycharm做IDE,方便,利于调试代码,查看源码等等。
5,对于python一切事物都是对象,对象基于类创建,类中保存了对象的方法
dir() #查看方法 type() #查看类型 help() #查看帮助 类中的方法包含两种 ,内置方法(__方法__) 2普通方法
6 数据类型
整数
i =
i = int()
i = int(,base=)
常用方法
常用方法
abs(-) 绝对值
divmod(,) 得到商和余数
7 字符串方法
编码与解码
unicode -------编码----utf-8------解码----unicode
unicode -------编码----GBK------解码----unicode
使用的方法
编码--encode
解码--decode
字符串常用方法
常用方法
b = ' werfdAW45fffrfge'
print b.capitalize() #第一个字母变大写
print b.partition("") #分割成三部分
print b.center(,"#") #字符串放中心,不够的使用符号#来填充
print b.count('f') #查找字符出现的次数
print b.count('f',,)
print b.endswith('g') #是否以什么结尾
print b.find('f') #查找字符,是否存在,存在的话返回它所在的位置,不存在返回-
print b.find('ww')
print b.index('f') #查找字符,是否存在,存在的话返回它所在的位置,不存在返回错误
#format的几种用法
name = 'i am {0},age {1}'
print name.format('alex',)
name = 'i ma {ss},age {dd}'
print name.format(ss='ddd',dd=)
li = ['dicky',]
name1 = 'i am {0},age {1}'
print name1.format(*li)
name.format(ss='ddd',dd=)
dic = {'ss':'dick',"dd":}
print name.format(**dic)
print "@@".join(b)
li = ['s1','s3']
print '%'.join(li) #将列表变成字符串
print b.ljust(,"&") #和center差不多,只是在右边填充
print b.lower() #字符串全部变小写
print b.upper() #字符串全部大写
print b.replace('we','ew') #替换
print b.split('AW') #split分割,可以将字符串分割后变成了列表,
print b.strip() #去除两边的空格
print b.swapcase() #大写变小写,小写变大写
结果如下
werfdaw45fffrfge
(' werfdAW', '', 'fffrfge')
werfdAW45fffrfge False - i am alex,age
i ma ddd,age
i am dicky,age
i ma dick,age
@@ @@ @@w@@e@@r@@f@@d@@A@@W@@@@@@f@@f@@f@@r@@f@@g@@e
s1%s3
werfdAW45fffrfge&
werfdaw45fffrfge
WERFDAW45FFFRFGE
ewrfdAW45fffrfge
[' werfd', '45fffrfge']
werfdAW45fffrfge
WERFDaw45FFFRFGE
8 列表常用方法
列表格式如下
[11,22,33,44,55,66]
常用方法
方法
li = [,,,,'ee',]
li1 = [,,,'ff','ww']
list
li.append() #添加一个元素
print li
print li.count() #查找元素出现的次数,并返回数量
li.extend(li1) #扩展列表li
print li
#print li.index('')
print li.index() #查找元素是否存在,存在的话返回其位置,不存在则报错。只查找第一次出现的
li.insert(,'') #在某个位置插入元素,默认在末尾插入
print li
li.pop() #删除元素并返回删除的下标值,默认删除最后一个
print li
li.remove() #移除元素,默认移除找到的第一个
print li
#li.remove('') #不存在则报错
#print li
li.reverse() #逆序输出
print li
del li #删除列表
结果
[, , , , 'ee', , ] [, , , , 'ee', , , , , , 'ff', 'ww'] [, , , , '', 'ee', , , , , , 'ff', 'ww']
[, , , , '', 'ee', , , , , , 'ff']
[, , , '', 'ee', , , , , , 'ff']
['ff', , , , , , 'ee', '', , , ]
9 元祖
元祖的元素不可以修改
方法只有两个
count index
10 字典常用方法
dic = {'dicky':,'age':}
dic1 = {'alex':,'dicky':}
dic.clear()
print dic #清空字典
dic = {'dicky':,'age':}
print dic.get('dicky') #get得到返回的value,没有的话默认返回None,也可以自定义返回值
print dic.get('work','ok')
print dic.items() #返回字典的值
print dic.keys() #返回key值
print dic.values() #返回value值
dic.pop('dicky') #删除指定key
dic = {'dicky':,'age':}
print dic
dic.update(dic1)
print dic
dic.setdefault('dicky')
print dic
dic.setdefault('zhang',) #查找keys,不存在则添加,默认是default
print dic
结果
{}
ok
[('dicky', ), ('age', )]
['dicky', 'age']
[, ]
{'dicky': , 'age': }
{'dicky': , 'age': , 'alex': }
{'dicky': , 'age': , 'alex': }
{'dicky': , 'age': , 'alex': , 'zhang': }
单独说下copy
11 集合
简单介绍
b = [,,,,,'ff']
a = [,,,,,,,,,'ff','ww']
c = set(a)
d = set(b)
print d & c #交集
print d | c #并集
结果
set([, 'ff', ])
set([, , , , , , , 'ww', 'ff', , ])
python之旅【第二篇】的更多相关文章
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python进阶【第二篇】多线程、消息队列queue
1.Python多线程.多进程 目的提高并发 1.一个应用程序,可以有多进程和多线程 2.默认:单进程,单线程 3.单进程,多线程 IO操作,不占用CPU python的多线程:IO操作,多线程提供并 ...
- Python学习【第二篇】Python入门
Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...
- Python自动化 【第二篇】:Python基础-列表、元组、字典
本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库, ...
- python之路第二篇(基础篇)
入门知识: 一.关于作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 10 == 10: name = 'allen' print name 以下结论对吗? ...
- Python之旅.第二章数据类型 3.19/3.20/3.21/3.22/3.23
一.数字类型 1.int类型: 基本使用: 用途:用于年龄,手机号,身份证号: 定义: age=18: 常用操作+内置方法: 正常的运算赋值: 进制转换: print(bin(3)); 把十进制3转换 ...
- 我的Python之旅第二天
一 .字符串操作 1单引号('').双引号("").三引号(""" """)的区别. 如果字符串中不包含单引号.双引号, ...
- Python基础【第二篇】
一.Python的标准数据类型 Python 3中主要有以下6中数据类型: Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary( ...
随机推荐
- HDU1502/Luogu1352/UVa1220 party[树形DP]
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- Jquery:小知识;
Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器 上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...
- u3d_Shader_effects笔记4 BRDF
1.英文意思 bidirectional reflectance distribution function bidirectional :双向的 reflectance :反射 distributi ...
- [No000028]Python的使用之禅及程序员应该明白的一些道理
最近疯狂的学习ruby和python着两门语言,看到书本上一些比较赞同的段子,摘抄并翻译如下: Python的使用之禅 Beautiful is better than ugly. 美丽好过丑陋Exp ...
- facebook graphql
思想先进,前端直接从后台调用所需要的数据. 最简单的理解: 从"select * from 学生表" 进化为"select name, sex from 学生表" ...
- [转]解决GET请求时中文乱码的问题
原文地址:http://www.cnblogs.com/liukemng/p/4178882.html 之前项目中的web.xml中的编码设置: <filter> <filter-n ...
- Hibernate SQL Dialect 方言
RDBMS Dialect DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB ...
- android 获取当前系统时间
取得系统时间 1. long time=System.currentTimeMillis(); 2. final Calendar mCalendar=Calendar.getInstance(); ...
- 树莓派Odroid等卡片式电脑上搭建NAS教程系列5-Samba服务器安装
本文章首发于浩瀚先森博客,地址: http://www.guohao1206.com/2016/08/23/967.html samba时一款为了实现linux系统中的文件能在windows系统中正常 ...
- Theano2.1.15-基础知识之theano如何处理shapre信息
来自:http://deeplearning.net/software/theano/tutorial/shape_info.html How Shape Information is Handled ...