python的文件

1.文本文件的写入

open()函数用于创建文件对象,基本语法格式如下:
open(文件名,打开方式)
如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:\a\b.txt。

打开方式有如下几种:

模式描述
r读 read 模式
w写 write 模式。如果文件不存在则创建;如果文件存在,则重写新内容
a追加 append 模式。如果文件不存在则创建;如果文件存在,则在文件末尾追加内容
b二进制 binary 模式(可与其他模式组合使用)
+读、写模式(可与其他模式组合使用

2.写入数据

write(a):把字符串 a 写入到文件中
writelines(b):把字符串列表写入文件中,不添加换

3.读取数据

文件的读取一般使用如下三个方法:

  1. read([size])
    从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。
    读取到文件末尾,会返回空字符串。
  2. readline()
    读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
  3. readlines()
    文本文件中,每一行作为一个字符串存入列表中,返回该列表

4.关闭文件

close()

5.with语句

with 语句(上下文管理器)with 关键字(上下文管理器)可以自动管理上下文资源,不论什么原因跳出 with 块,都能确保文件正确的关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的现

#!/usr/bin/env python
# coding=utf-8

info1 = ["hello world\n", "I am zhiyi\n"]
info2 = "how are you!\n"
info3 = "How old are you\n"
file_name = "first_file,txt\n"
with open(file_name, "w") as f:
    f.writelines(info1)
    f.write(info2)
    f.write(info3)
print("数据输入完毕")

with open(file_name, "r", encoding = "utf-8") as f:
    print(f.read())

数据输入完毕
hello world
I am zhiyi
how are you!
How old are you

6.文本文件常用的方法

方法名说明
read([size])从文件中读取 size 个字节或字符的内容返回。若省略[size],则读取到文件末尾,即一次读取文件所有内容
readline()从文本文件中读取一行内容readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回write(str) 将字符串 str 内容写入文件
writelines(s)将字符串列表 s 写入文件文件,不添加换行符
seek(offset,whence)把文件指针移动到新的位置,offset 表示相对于 whence 的多少个字节的偏移量;
offset:off 为正往结束方向移动,为负往开始方向移动.
whence 不同的值代表不同含义:
0: 从文件头开始计算(默认值)
1:从当前位置开始计算
2:从文件尾开始计算
tell()返回文件指针的当前位置
truncate([size])不论指针在什么位置,只留下指针前 size 个字节的内容,其余全部删除;如果没有传入 size,则当指针当前位置到文件末尾内容全部删除
flush()把缓冲区的内容写入文件,但不关闭文件
close()把缓冲区内容写入文件,同时关闭文件,释放文件对象相关

7.使用 pickle 序列化

序列化我们使用:
pickle.dump(obj, file) obj 就是要被序列化的对象,file 指的是存储的文pickle.load(file) 从 file 读取数据,反序列化成

8.cvs

import csv
with open(r"d:\a.csv") as a:
	a_csv = csv.reader(a)   #创建 csv 对象,它是一个包含所有数据的列表,每一行为一个元素
	headers = next(a_csv)   #获得列表对象,包含标题行的信息
	print(headers)
	for row in a_csv:   #循环打印各行内容
		print(row)

csv.writer 对象和 csv 文件写入

import csv
headers = ["工号","姓名","年龄","地址","月薪"]
rows = [("1001","高淇",18,"西三旗 1 号院","50000"),("1002","高八",19,"西三旗 1 号院","30000")]
with open(r"d:\b.csv","w") as b:
	b_csv = csv.writer(b)   #创建 csv 对象
	b_csv.writerow(headers)  #写入一行(标题)
	b_csv.writerows(rows)  #写入多行(数据)

9.os

os 模块-调用操作系统命令·
os.system 可以帮助我们直接调用系统的命令
·os.startfile:直接调用可执行文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值