Python文件操作和文件读写

一、常见文件操作

1.1 导入os库

  • 语法
import os

1.2 获取当前文件所在路径

  • 示例代码
import os

print(os.getcwd())
  • 执行结果
D:\wn_project\python_study	# 不包含当前文件,只返回文件的上级目录,字符串类型

Process finished with exit code 0

1.3 创建文件夹

  • 示例代码
import os

os.mkdir("测试目录")	# 创建一个文件夹,文件夹名:测试目录,无返回值

1.4 获取某个目录下所有的文件和文件夹

  • 示例代码
import os

print(os.listdir("D:\\wn_project\\python_study"))
  • 执行结果
['.idea', 're_study.py', 'study_3_25.py', 'study_demo_01.py', 'study_read_write_txt.py', 'UI自动化', '多线程.py', '学习读取txt文件.txt', '测试目录']	# 返回文件和文件夹列表,包含隐藏文件

Process finished with exit code 0

1.5 删除文件

  • 示例代码
import os

os.remove("D:\\wn_project\\python_study\\隐藏文件.txt")	# 强制删除,没有二次确认,不会进入回收站

1.6 文件重命名

  • 示例代码
import os

os.rename("D:\wn_project\python_study\测试目录1","D:\wn_project\python_study\测试目录2")	# rename方法第一个形参是原文件路径,第二个形参是文件新路径

1.7 文件是否存在

  • 示例代码
import os

print(os.path.exists("D:\\wn_project\\python_study\\UI自动化"))	# 存在返回True,不存在返回False

二、txt文件读写

2.1 读取方式(通用)

读取方式含义
r读取文件,如果文件不存在会报错
w写入文件,如果文件不存在会创建,如存在,写入时会覆盖原文件内容
a写入文件,如果文件不存在会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
r+可读、可写,文件不存在会报错,写操作时会覆盖
w+可读,可写,文件不存在会先创建,写操作时会覆盖
a+可读、可写,文件不存在会先创建,写操作时不会覆盖,而是追加在末尾

2.2 读取全部内容

  • 示例代码
with open("""学习读取txt文件.txt""","r+",encoding='utf-8') as f:
    line_txt = f.readlines()
    print(line_txt)	# 所有行数据,类型为列表
    print(len(line_txt))	# 获取数据行数
  • 执行结果
['用户名\n', 'admin1\n', 'test1\n', '用户名1\n', '&%%$\n']
5

Process finished with exit code 0

2.3 逐行读取

  • 示例代码
with open("""学习读取txt文件.txt""","r+",encoding='utf-8') as f:
    print(f.readline())
    print(f.readline())
    print(f.readline())
  • 执行结果
# 会读取换行符
用户名

admin1

test1


Process finished with exit code 0

2.4 覆盖写入

  • 示例代码
with open("""D:\wn_project\python_study\学习读取txt文件.txt""","w",encoding='utf-8') as f:
    f.write("新内容")	# 使用w则可以替换内容再写入新的内容

2.5 追加写入

  • 示例代码
with open("""D:\wn_project\python_study\学习读取txt文件.txt""","a+",encoding='utf-8') as f:
    f.write("新内容1")	# 使用a+则可以替换内容再写入新的内容

2.6 延伸:更改某一行数据

  • 需求
    txt文件中有若干个城市,需要删除南京
  • 思路
    先获取全部数据,再将不要的数据剔除,留下需要的数据,再重新写入
  • 示例代码
save_txt = []
with open("""D:\wn_project\python_study\学习读取txt文件.txt""","r+",encoding='utf-8') as f:
    all_txt = f.readlines() # 获取所有文本
for i in all_txt:
    if "南京" not in i:   # 保留想要的内容
        save_txt.append(i)
with open("""D:\wn_project\python_study\学习读取txt文件.txt""","w",encoding='utf-8') as f:
    for i in save_txt:
        f.write(i)	# 重新写入

三、Excel文件读写

3.1 导入xlrd库

  • 语法
pip install xlrd==1.2.0	# 一定要带上版本号,因为2.0版本不支持xlsx格式

3.2 常用语法

  • 示例代码
import xlrd

book=xlrd.open_workbook('new.xlsx')      #打开要读取的excel
sheet_index=book.sheet_by_index(0)      #根据指定索引获取要读取的sheet页,下标从0开始算
sheet_name=book.sheet_by_name('wu')     #根据sheet页名称获取要读取的sheet页
rows=sheet_name.nrows                   #获取sheet页面里面的总行数,行数从1开始算,中间有空行也会											计算
columns=sheet_name.ncols                #获取sheet页面里面的总列数,列数从1开始算,中间有空行也会											计算
print(rows,columns)                     #打印总行数,总列数
print(sheet_name.cell(0,0).value)       #获取指定单元格(第1行,第1列)里面的内容,返回字符串
print(sheet_name.cell_value(0,0)) 		#获取指定单元格(行,列)里面的内容,返回字符串,同上
print(sheet_name.cell(0,0)) 			#获取指定单元格(行,列)里面的内容,含字符类型,如:												  number:18或text:测试
print(sheet_name.row_values(1))         #获取指定行的内容,返回的是列表,从下标0开始,空值也算
print(sheet_name.row_values(1,1,3))     #第一个参数是行,第二个和第三个参数表示第2列开始,第4列结束											的值(不包含第4列)
print(sheet_name.col_values(2))         # 获取第三列的所有数据
print(sheet_name.col_values(2,1,3))     # 获取第三列的第2行到第4行的数据(不包含第4行)
for i in range(rows):                   #获取所有的行的内容
    print(sheet_name.col_values(i))

四、excel写入

from xlutils.copy import copy
import xlrd


wkbook = xlrd.open_workbook("11.xls")
cp_wkbook = copy(wkbook)
sheet = cp_wkbook.get_sheet("login")
sheet.write(5,3, "ifaof")
cp_wkbook.save("11.xls")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值