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( ...
随机推荐
- file_get_contents模仿浏览器头(user_agent)获取数据
本篇文章是对file_get_contents模仿浏览器头(user_agent)获取数据进行了详细的分析介绍,需要的朋友参考下 什么是user agentUser Agent中文名为用户代理 ...
- CF687C. The Values You Can Make[背包DP]
C. The Values You Can Make time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- 第26章 创建型模式大PK
26.1 工厂方法模式 VS 建造者模式 26.1.1 按工厂方法建造超人 (1)产品:两类超人,成年超人和未成年超人. (2)工厂:这里选择简单工厂 [编程实验]工厂方法建造超人 //创建型模式大P ...
- [No000036]操作系统Operating Systems系统调用的实现System_Call
实现一个whoami 系统调用 系统调用的直观实现 问题+直观想法… 用户程序调用whoami, 一个字符串"systemcall "放在操作系统中(系统引导时载入) ,取出来打印 ...
- iOS UITableView 分割线从零开始
第一种(不自己画线): 代码如下 // tableView的分割线从零开始 -(void)viewDidLayoutSubviews { if ([self.tableView respondsToS ...
- curl命令
定位后端接口是否ok,经常使用到curl -b/cookie <name=string/file> cookie字符串或文件读取位置 curl http://localhost --co ...
- jquery 添加节点的几种方法介绍
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- MySQL数据库的优化(上)单机MySQL数据库的优化
MySQL数据库的优化(上)单机MySQL数据库的优化 2011-03-08 08:49 抚琴煮酒 51CTO 字号:T | T 公司网站访问量越来越大,导致MySQL的压力越来越大,让我们自然想到的 ...
- 详细学习ORACLE JOBS
一点一点学习jobs的各个方面比较长,比较烦,但是应该看完后会对jobs比较好的应用 一.学习准备 开始dbms_job学习前,先认识一个参数job_queue_processes a.job_que ...
- 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)
首先这两种方式都是延迟初始化机制,就是当要用到的时候再去初始化. 但是Effective Java书中说过:除非绝对必要,否则就不要这么做. 1. DCL (double checked lockin ...