1、新手必会Python基础

博客内容:html

一、基础语法python

二、运算符git

三、流程控制api

四、列表、元组、字典、集合数组

五、字符串app

六、文件操做ide

 

 

1、基础语法

一、标识符

命名规则:函数

  • 以字母、下划线开头
  • 其余部分由字母、数字或下划线组成
  • 不能使用关键字命名;
  • 常量通常所有是大写;
  • 命名要有意义,不宜过长。

定义:能够改变的量:post

age=19    #定义一个名为age的量,他的值为19

常量:不能够改变的量(命名字母全大写)测试

二、注释

Python中单行注释以 # 开头

行注释能够用多个 # 号,还有 ''' 和 """

# 单行注释
 
'''
多行注释
'''
 
"""
多行注释
"""
注释

三、行与缩进

python缩进来表示代码块,不使用大括号 {} 。

缩进的空格数是可变的,可是同一个代码块的语句必须包含相同的缩进空格数。

四、数字(Number)类型

python中数字有四种类型:整数、布尔型、浮点数和复数。

  • int (整数), 如 1
  • bool (布尔), 如 True
  • float (浮点数), 如 1.2三、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2j
age = 19

ps:类型的转换

 

  • int(x) 将x转换为一个整数。
  • float(x) 将x转换到一个浮点数。
  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

五、字符串(String)

"oeasys"

  • python中单引号和双引号使用彻底相同。
  • 使用三引号('''或""")能够指定一个多行字符串
  • 转义符 '\' 反斜杠能够用来转义
  • Python中的字符串不能改变
  • 字符串能够用 + 运算符链接在一块儿,用 * 运算符重复以及格式化输出

ps:格式化输出

字符串 %s;整数 %d、;浮点数%f

name = "oeasys"
print ("i am %s " ,% name)
  
#输出: i am oeasys

六、布尔值

一个True(真)
一个False(假)

七、用户输入与输出

input() 等待用户输入

print() 打印输出

2、运算符

一、Python算术运算符

二、Python比较运算符

 

三、Python赋值运算符

四、Python位运算符

 

五、Python逻辑运算符

六、Python成员运算符

  

七、Python身份运算符

 

八、Python运算符优先级

 

 

运算符图片并不是原创,转自菜鸟教程

 3、流程控制

一、条件控制

1 if 若是:    # 若是为真,执行若是代码
2     执行若是代码
3 elif 不然若是:    # 不然若是为真,执行不然若是代码
4     执行不然若是代码
5 else:    # 前面都不为真,执行不然代码
6     执行不然代码
if-elif-else  
1 result = 值1 if 条件 else 值2
2  
3 # 若是条件成立,那么将 “值1” 赋值给result变量,不然,将“值2”赋值给result变量
三元运算

 二、循环控制

一、while 循环

while 判断条件: 语句

 二、while 循环使用 else 语句

while 若是为真:    # 若是为真,执行循环语句
   执行循环语句
else:    #while循环为假,执行不然语句
   执行不然语句

 三、for 语句

for i in range(10):

  执行语句 

 ps:range()函数

内置range()函数,它会生成数列

1 for i in range(5):
2      print(i)
3 ...
4 0
5 1
6 2
7 3
8 4

 使用range指定区间的值

1 for i in range(5,9) :
2     print(i)
3  
4     
5 5
6 6
7 7
8 8

 range以指定数字开始并指定不一样的增量(甚至能够是负数,有时这也叫作'步长')

1 for i in range(0, 10, 3) :
2     print(i)
3  
4     
5 0
6 3
7 6
8 9

 您能够结合range()和len()函数以遍历一个序列的索引

1 a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
2 for i in range(len(a)):
3 ...     print(i, a[i])
4 ... 
5 0 Google
6 1 Baidu
7 2 Runoob
8 3 Taobao
9 4 QQ

 range()函数来建立一个列表

1 >>>list(range(5))
2 [0, 1, 2, 3, 4]

 

 

四、break和continue语句

  1. break 语句能够跳出 for 和 while 的循环体
  2. continue语句被用来告诉Python跳过当前循环块中的剩余语句,而后继续进行下一轮循环。

 五、pass 语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不作任何事情,通常用作占位语句

 4、列表、元组、字典、集合

一、列表

建立列表

names = ['张三',"李四",'王五']

经过下标访问列表中的元素,下标从0开始计数

>>> names[0]
'张三'
>>> names[2]
'王五'
>>> names[-1]
'王五'
>>> names[-2] #还能够倒着取
'李四' 
 1 >>> num = ["1","2","3","4","5","6"]
 2 >>> num[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['2', '3', '4']
 4 >>> num[1:-1] #取下标1至-1的值,不包括-1
 5 ['2', '3', '4', '5']
 6 >>> num[0:3] 
 7 ['1', '2', '3']
 8 >>> num[:3] #若是是从头开始取,0能够忽略,跟上句效果同样
 9 ['1', '2', '3']
10 >>> num[3:] #若是想取最后一个,必须不能写-1,只能这么写
11 ['4', '5', '6'] 
12 >>> num[3:-1] #这样-1就不会被包含了
13 ['4', '5']
14 >>> num[0::2] #后面的2是表明,每隔一个元素,就取一个
15 ['1', '3', '5'] 
16 >>> num[::2] #和上句效果同样
17 ['1', '3', '5']
切片:取值
1 num = ['1', '2', '3', '4', '5', '6']
2 >>> num.append("7")
3 >>> num
4 ['1', '2', '3', '4', '5', '6', '7']
追加
1 >>> num = ['1', '2', '3', '4', '5', '6', '7']
2 >>> num.insert(2,"强行从3前面插入")
3 >>> num
4 ['1', '2', '强行从3前面插入', '3', '4', '5', '6', '7']
插入
1 >>> num = ['1', '2', '3', '4', '5']
2 >>> num[2] = "new"
3 >>> num
4 ['1', '2', 'new', '3', '4', '5']
修改
 1 >>> mun = ['1', '2', '3', '4', '5', '6', '7']
 2 >>>del num[2] 
 3 >>> num
 4 num = ['1', '2', '3', '4', '5', '6', '7']
 5 
 6 
 7 
 8 >>> num.remove("4") #删除指定元素
 9 >>> num
10 ['1', '2', '5', '6', '7']
11 >>> num.pop() #删除列表最后一个值 
12 '7'
13 >>> nun
14 ['1', '2', '5', '6']
删除
1 >>> num = ['1', '2', '3', '4', '5']
2 >>> num1 = [1,2,3]
3 >>> num.extend(num1)
4 >>> num
5 ['1', '2', '3', '4', '5', 1, 2, 3]
扩展
1 >>> num = ['1', '2', '3', '4', '5', 1, 2, 3]
2 
3 >>> num_copy = num.copy()
4 >>> num_copy
5 ['1', '2', '3', '4', '5', 1, 2, 3]
拷贝
1 >>> num = ['1', '2', '3', '4', '5','2']
2 >>> num.count("2")
3 2
统计
1 >>> num = ['4', '2', '1','9', '7', '5']
2 >>> num.sort() 
3 >>> num
4 ['1', '2', '4', '5', '7', '9']
排序
1 >>> num = ['4', '2', '1','9', '7', '5']
2 >>> num.reverse()
3 >>> num
4 ['5', '7', '9', '1', '2', '4']
反转
1 >>> num = ['4', '2', '1','9', '7', '5']
2 >>> num.index('9')
3 3
获取下标  

二、元组

Python 的元组与列表相似,元组的元素不能修改,又叫只读列表。

num = ("1","2","3")

只有2个方法:一个是count,一个是index 

三、字典

字典是另外一种可变容器模型,且可存储任意类型对象。

字典的每一个键值(key=>value)对用冒号(:)分割,每一个对之间用逗号(,)分割,整个字典包括在花括号({})中 

字典是无序的,key是惟一的

1 names = {
2     'name1': "zhangsan",
3     'name2': "李四",
4     'name3': "王五",
5 }
字典建立
1 names = {
2     'name1': "zhangsan",
3     'name2': "李四",
4     'name3': "王五",
5 }
6 names["name4"] = "wangwu"
增长
1 name['name2'] = "张三"
修改
info.pop("name2")  #删除方法1

del info['name3']  #删除方法2

info.popitem() #随机删除
删除
1 >>> "name1" in names #查找1
2 True
3 >>> names.get("name2")  #获取
4 
5 >>> names["name9"] #获取,可是若是key不存在,就报错
查找
 1 values() 函数以列表返回字典中的全部值
 2 
 3 keys() 函数以列表返回一个字典全部的键
 4 
 5 setdefault(key,default) 函数, 若是键不存在于字典中,将会添加键并将值设为默认值
 6 key -- 查找的键值。
 7 default -- 键不存在时,设置的默认键值。
 8 
 9 update() 函数把字典dict2的键/值对更新到dict里。
10 
11 items() 函数以列表返回可遍历的(键, 值) 元组数组
12 
13 has_key() 函数用于判断键是否存在于字典中,若是键在字典dict里返回true,不然返回false。
14 
15 fromkeys() 函数用于建立一个新字典,以序列 seq 中元素作字典的键,value 为字典全部键对应的初始值。
16 
17 copy() 函数返回一个字典的浅复制。
其它方法
序号 函数及描述
1 cmp(dict1, dict2)
比较两个字典元素。
2 len(dict)
计算字典元素个数,即键的总数。
3 str(dict)
输出字典可打印的字符串表示。
4 type(variable)
返回输入的变量类型,若是变量是字典就返回字典类型。

 

序号 函数及描述
1 dict.clear()
删除字典内全部元素
2 dict.copy()
返回一个字典的浅复制
3 dict.fromkeys(seq[, val])
建立一个新字典,以序列 seq 中元素作字典的键,val 为字典全部键对应的初始值
4 dict.get(key, default=None)
返回指定键的值,若是值不在字典中返回default值
5 dict.has_key(key)
若是键在字典dict里返回true,不然返回false
6 dict.items()
以列表返回可遍历的(键, 值) 元组数组
7 dict.keys()
以列表返回一个字典全部的键
8 dict.setdefault(key, default=None)
和get()相似, 但若是键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2)
把字典dict2的键/值对更新到dict里
10 dict.values()
以列表返回字典中的全部值
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 不然,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值。

四、集合 

集合是一个无序的,不重复的数据组合,它的主要做用以下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据以前的交集、差集、并集等关系
 1 s = set([3,5,9,10])      #建立一个数值集合  
 2   
 3 t = set("Hello")         #建立一个惟一字符的集合  
 4 
 5 
 6 a = t | s          # t 和 s的并集  
 7   
 8 b = t & s          # t 和 s的交集  
 9   
10 c = t – s          # 求差集(项在t中,但不在s中)  
11   
12 d = t ^ s          # 对称差集(项在t或s中,但不会同时出如今两者中)  
13   
14    
15   
16 基本操做:  
17   
18 t.add('x')            # 添加一项  
19   
20 s.update([10,37,42])  # 在s中添加多项  
21   
22    
23   
24 使用remove()能够删除一项:  
25   
26 t.remove('H')  
27   
28   
29 len(s)  
30 set 的长度  
31   
32 x in s  
33 测试 x 是不是 s 的成员  
34   
35 x not in s  
36 测试 x 是否不是 s 的成员  
37   
38 s.issubset(t)  
39 s <= t  
40 测试是否 s 中的每个元素都在 t 中  
41   
42 s.issuperset(t)  
43 s >= t  
44 测试是否 t 中的每个元素都在 s 中  
45   
46 s.union(t)  
47 s | t  
48 返回一个新的 set 包含 s 和 t 中的每个元素  
49   
50 s.intersection(t)  
51 s & t  
52 返回一个新的 set 包含 s 和 t 中的公共元素  
53   
54 s.difference(t)  
55 s - t  
56 返回一个新的 set 包含 s 中有可是 t 中没有的元素  
57   
58 s.symmetric_difference(t)  
59 s ^ t  
60 返回一个新的 set 包含 s 和 t 中不重复的元素  
61   
62 s.copy()  
63 返回 set “s”的一个浅复制
经常使用操做

 

5、字符串

一、Python转义字符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy表明的字符,例如:\o12表明换行
\xyy 十六进制数,yy表明的字符,例如:\x0a表明换行
\other 其它的字符以普通格式输出

二、Python字符串运算符

操做符 描述 实例
+ 字符串链接
>>>a + b 'HelloPython'
* 重复输出字符串
>>>a * 2 'HelloHello'
[] 经过索引获取字符串中字符
>>>a[1] 'e'
[ : ] 截取字符串中的一部分
>>>a[1:4] 'ell'
in 成员运算符 - 若是字符串中包含给定的字符返回 True
>>>"H" in a True
not in 成员运算符 - 若是字符串中不包含给定的字符返回 True
>>>"M" not in a True
r/R 原始字符串 - 原始字符串:全部的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(能够大小写)之外,与普通字符串有着几乎彻底相同的语法。
>>>print r'\n' \n >>> print R'\n' \n
% 格式字符串

三、Python 字符串格式化

python 字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  做用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %F 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操做符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用作左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'仍是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(若是可用的话)

四、python的字符串内建函数

方法 描述

string.capitalize()

把字符串的第一个字符大写

string.center(width)

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.count(str, beg=0, end=len(string))

返回 str 在 string 里面出现的次数,若是 beg 或者 end 指定则返回指定范围内 str 出现的次数

string.decode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式解码 string,若是出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'

string.encode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式编码 string,若是出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

string.endswith(obj, beg=0, end=len(string))

检查字符串是否以 obj 结束,若是beg 或者 end 指定则检查指定的范围内是否以 obj 结束,若是是,返回 True,不然返回 False.

string.expandtabs(tabsize=8)

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。

string.find(str, beg=0, end=len(string))

检测 str 是否包含在 string 中,若是 beg 和 end 指定范围,则检查是否包含在指定范围内,若是是返回开始的索引值,不然返回-1

string.format()

格式化字符串

string.index(str, beg=0, end=len(string))

跟find()方法同样,只不过若是str不在 string中会报一个异常.

string.isalnum()

若是 string 至少有一个字符而且全部字符都是字母或数字则返

回 True,不然返回 False

string.isalpha()

若是 string 至少有一个字符而且全部字符都是字母则返回 True,

不然返回 False

string.isdecimal()

若是 string 只包含十进制数字则返回 True 不然返回 False.

string.isdigit()

若是 string 只包含数字则返回 True 不然返回 False.

string.islower()

若是 string 中包含至少一个区分大小写的字符,而且全部这些(区分大小写的)字符都是小写,则返回 True,不然返回 False

string.isnumeric()

若是 string 中只包含数字字符,则返回 True,不然返回 False

string.isspace()

若是 string 中只包含空格,则返回 True,不然返回 False.

string.istitle()

若是 string 是标题化的(见 title())则返回 True,不然返回 False

string.isupper()

若是 string 中包含至少一个区分大小写的字符,而且全部这些(区分大小写的)字符都是大写,则返回 True,不然返回 False

string.join(seq)

以 string 做为分隔符,将 seq 中全部的元素(的字符串表示)合并为一个新的字符串

string.ljust(width)

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

string.lower()

转换 string 中全部大写字符为小写.

string.lstrip()

截掉 string 左边的空格

string.maketrans(intab, outtab])

maketrans() 方法用于建立字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示须要转换的字符,第二个参数也是字符串表示转换的目标。

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

string.partition(str)

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),若是 string 中不包含str 则 string_pre_str == string.

string.replace(str1, str2,  num=string.count(str1))

把 string 中的 str1 替换成 str2,若是 num 指定,则替换不超过 num 次.

string.rfind(str, beg=0,end=len(string) )

相似于 find()函数,不过是从右边开始查找.

string.rindex( str, beg=0,end=len(string))

相似于 index(),不过是从右边开始.

string.rjust(width)

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str)

相似于 partition()函数,不过是从右边开始查找

string.rstrip()

删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str))

以 str 为分隔符切片 string,若是 num 有指定值,则仅分隔 num+ 个子字符串

string.splitlines([keepends])

按照行('\r', '\r\n', \n')分隔,返回一个包含各行做为元素的列表,若是参数 keepends 为 False,不包含换行符,若是为 True,则保留换行符。

string.startswith(obj, beg=0,end=len(string))

检查字符串是不是以 obj 开头,是则返回 True,不然返回 False。若是beg 和 end 指定值,则在指定范围内检查.

string.strip([obj])

在 string 上执行 lstrip()和 rstrip()

string.swapcase()

翻转 string 中的大小写

string.title()

返回"标题化"的 string,就是说全部单词都是以大写开始,其他字母均为小写(见 istitle())

string.translate(str, del="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符,

要过滤掉的字符放到 del 参数中

string.upper()

转换 string 中的小写字母为大写

string.zfill(width)

返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

6、文件操做

 一、初识⽂件操做

使⽤open()函数来打开⼀个⽂件:open(文件名(路径),mode=“打开文件的方式”,encoding=“字符集utf-8”)

打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式

 rb, wb, ab, 用来读取非⽂本⽂件的时候. 好比读取MP3. 图像. 视频等信息的时候就须要⽤到。由于这种数据是没办法直接显⽰出来的. ⽂件上传下载的时候还会⽤到. 以及直播. 实际上都是这种数据.

二、绝对路径和相对路径

1. 绝对路径:从磁盘根⽬录开始⼀直到⽂件名.

2. 相对路径:同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 若是在同 ⼀个⽂件夹中. 则相对路径就是这个⽂件名. 若是在上⼀层⽂件夹. 则要../

三、只读(r, rb)

1 f = open("文件路径.txt",mode="r", encoding="utf-8") # 打开文件
2 content = f.read() # 读取内容,文件大时不要用
3 print(content) # 打印读取的内容
4 f.close() # 关闭文件
5 
6 须要注意encoding表⽰编码集. 根据⽂件的实际保存编码进⾏获取数据, 对于咱们⽽⾔. 更多的是utf-8.
只读r

 

1 f = open("文件名.txt",mode="rb" )
2 content = f.read()
3 print(content)
4 f.close()
5 
6 rb的做⽤: 在读取非⽂本⽂件的时候. 好比读取MP3. 图像. 视频等信息的时候就须要⽤到
7 rb. 由于这种数据是没办法直接显⽰出来的. 在后⾯咱们⽂件上传下载的时候还会⽤到. 还有.咱们看的直播. 实际上都是这种数据.
rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集.

 

 

四、只写(w, wb)

1 f = open("文件", mode="w", encoding="utf-8")
2 f.write("oeasys.cn")
3 f.flush() # 刷新
4 f.close()
w,写的时候注意. 若是没有⽂件. 则会建立⽂件, 若是⽂件存在. 则将原件中原来的内容删除, 再写入新内容

 

1 f = open("文件", mode="wb")
2 f.write("oeasys.cn".encode("utf-8"))
3 f.flush()
4 f.close()
wb模式下. 能够不指定打开⽂件的编码. 可是在写⽂件的时候必须将字符串转化成utf-8的

 

五、追加(a, ab)

1 f = open("文件", mode="a", encoding="utf-8")
2 f.write("oeasys.cn")
3 f.flush()
4 f.close()
a,在追加模式下. 咱们写入的内容会追加在⽂件的结尾.

 

 

六、r+读写

1 f = open("文件", mode="r+", encoding="utf-8")
2 content = f.read()
3 f.write("oeasys.cn")
4 print(content)
5 f.flush()
6 f.close()
7 结果:
8 正常的读取以后, 写在结尾
对于读写模式. 必须是先读. 由于默认光标是在开头的. 准备读取的. 当读完了以后再进⾏ 写入. 咱们之后使⽤频率最⾼的模式就是r+

 

七、w+写读

1 f = open("文件", mode="w+", encoding="utf-8")
2 f.write("oeasys.cn")
3 content = f.read()
4 print(content)
5 f.flush()
6 f.close()
先将全部的内容清空. 而后写入. 最后读取.

 

 

八、a+写读(追加写读)

1 f = open("文件", mode="a+", encoding="utf-8")
2 f.write("oeasys.cn")
3 content = f.read()
4 print(content)
5 f.flush()
6 f.close()
a+模式下, 不论先读仍是后读. 都是读取不到数据的.

 

 

九、读取⽂件的⽅法:

1 f = open("文件路径", mode="r", encoding="utf-8")
2 content = f.read()
3 print(content)
1. read() 将⽂件中的内容所有读取出来. 弊端: 占内存. 若是⽂件过⼤.容易致使内存崩溃

 

 

1 f = open("文件路径", mode="r", encoding="utf-8")
2 content = f.readline()
3 content2 = f.readline()
4 content3 = f.readline()
5 content4 = f.readline()
6 content5 = f.readline()
2. readline() ⼀次读取⼀⾏数据

 

1 f = open("文件", mode="r", encoding="utf-8")
2 for line in f:
3  print(line.strip())
3. 循环读取. 这种⽅式是组好的. 每次读取⼀⾏内容.不会产⽣内存溢出的问题.

 

注意: 读取完的⽂件句柄⼀定要关闭 f.close()

十、其余操做⽅法

1. seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 因此若是是UTF-8的中⽂部分要 是3的倍数.

  一般咱们使⽤seek都是移动到开头或者结尾.

  seek(偏移量,位置)

 

  移动到开头: seek(0)

  移动到结尾: seek(0,2)

  seek的第⼆个参数表⽰的是从哪一个位置进⾏偏移, 默认是0, 表 ⽰开头, 1表⽰当前位置, 2表⽰结尾

 

2. tell()获取到当前光标位置

print(f.tell()) 

3. truncate() 截断⽂件

  从开头截断到光标位置,删掉光标后⾯的全部内容

  若是给参数,从开头截断到参数位置

在r+模式下. 若是读取了内容. 不论读取内容多少. 光标显⽰的是多少. 再写入 或者操做⽂件的时候都是在结尾进⾏的操做. 

因此若是想作截断操做. 记住了. 要先挪动光标. 挪动到你想要截断的位置. 而后再进⾏截断

相关文章
相关标签/搜索