Python学习笔记(三)

一、文件

1. 打开文件

要打开文件需要使用函数open,返回值为打开的文件对象

# f = open('文件路径',文件模式,encoding='utf8')
f = open("a.txt", "r")
f.close()  # 记得操作后关闭文件

f = open("a.txt", "w", encoding="utf8")  # 指定编码
f.close()

# 上下文管理器
with open("a.txt", "w", encoding="utf8") as f:
    f.write("这是a文件")

with open("a.txt", "r", encoding="utf8") as f:
    print(f.read())

2. 文件模式

文件模式作用
r
w
a追加
b二进制(需要与其他模式结合)
+读写模式(需要与其他模式结合)
f = open("a.txt", "r")      # 读
f = open("a.txt", "w")      # 写
f = open("a.txt", "a")      # 追加
f = open("a.txt", "rb")     # 二进制读
f = open("a.txt", "wb")     # 二进制写
f = open("a.txt", "w+")     # 读写
f = open("a.txt", "r+")     # 读写

3. 基本方法

  1. 写:f.write(string s)
  2. 读全部:f.read()
    可以指定读取长度,如:f.read(4),读4个字节
  3. 读一行:f.readline()
  4. 读所有行,每行组成的列表:f.readlines()
  5. 关闭文件:f.close()
  6. 移动文件指针:f.seek(移动到的位置)
f = open("a.txt", "r+", encoding="utf8")

# 读文件
text = f.read()  # 读全文
print(text)

f.seek(0)  # 文件光标定到文件开头

text = f.readline()  # 读一行
print(text)

f.seek(0)

text = f.readlines()  # 读所有行,并将结果放入列表中返回
print(text)

f.close()


# 写文件
f = open("a.txt", "w+", encoding="utf8")

# 写文件
f.write("asdfasdfasdfa")
f.close()

4. 序列化操作

序列化操作需要导入pickle模块
序列化:pickle.dump(需要序列化的对象,目标文件对象)
读取: pickle.load(读取的文件对象)

import pickle

f = open("a.txt", "wb")

person = {"name":"李明", "age":18}
pickle.dump(person, f)

f.close()

f = open("a.txt", "rb")
pers = pickle.load(f)
print(pers)

f.close()

二、语句

1. 赋值语句

# 普通赋值
a = 10

# 序列解包
x, y = 5, 10
x, y = (5, 10)
x, y = [5, 10]
(x, y) = (5, 10)
(x, y) = [5, 10]
x, y = "ab"  	# x = 'a', y = 'b'
x, *y = "abc" 	# x = 'a', y = "bc"
x, y = "abc"    # 不正确

# 链式赋值
a = b = c = 1

2. 输出语句

print("abc", end=" ")  # 以空格结尾,默认是以换行结尾
print("abc", file=open("a.txt", "w"))  # 重定向到文件
print("a", "b", sep="|")  # 以|分割

3. 条件语句

# 模板
if 判断条件:
	执行代码
elif 判断条件:
	执行代码
...
else 判断条件:
	执行代码

4. 循环语句

  1. for循环
# 模板
for item in 可迭代对象:
	执行代码
else:
	执行代码(当没有被for循环break掉会执行)

(1)range:range函数返回值为一个生成器对象
         range(100) # 0 ~ 100
         range(1, 100) # 1 ~ 99
         range(1, 100) # 1, 3, 5, 7… 99

for i in range(100):
	print(i + 1, end=" ")
	

(2)enumerate:
         enumerate用于可迭代、可遍历的数据对象组合为一个索引序列,同时列出下标和数值

s = "abc"
for idx, item in enumerate(s):
	print(idx, item)
  1. while循环
# 模板
while 条件:
	执行代码
else:
	执行代码(当没有被while循环break掉会执行)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值