python文件操作与路径

枫铃3年前 (2021-10-03)Python291

一.打开和关闭文件

方法1:打开一个文件,返回一个操作的句柄

file = open(指定文件名,打开的模式['r''r+''w''w+''a+'],编码方式(encoding='utf-8')) # 打开文件
file.read()或者file.write(写入的内容) # 读写操作   
f.close()# 关闭文件

方法2:开启open返回文件句柄对象的上下文管理器(执行完with的代码语句之后,会自动关闭文件)

with open(file="指定文件", mode="打开的模式", encoding="utf-8") as f:
    c = f.read()或f.write(写入的内容)
    print(c)
  • r:只读 ----如果被打开的文件不存在,直接报错【rb:二进制允许读入文件】
    read()读取全部,进行完一次读取操作后,光标到文末   readline()读取单行 readlines()读取多行
    默认只读r模式,若写入内容,会报错:io.UnsupportedOperation: not writable

  • r+:可读可写
    先写,从头开始覆盖写 ;读光标之后的内容 ;读写跟着光标走
    写入中文,注意编码格式encoding=utf-8

  • w:只写 —(清空文件中原有的内容),被打开的文件不存在,会自动创建一个【wb:覆盖写入二进制文件】
    write()直接写 writeline()写单行 writelines()写多行 wb:二进制允许写入文件
    w:读会报错:io.UnsupportedOperation: not readable

  • w+:可读可写
    注意1: 不管是w,还是w+,如果文件存在,直接清空,再重写;如果文件不存在,则新建一个文件,然后写

  • a+:追加(不清空),可读可写 【ab:二进制允许追加文件】如果文件存在,写到后面;如果文件不存在,则新建一个文件,然后写
    注意2:二进制模式一般用于读图片,视频等,写测试报告:wb模式

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 读取r(重点掌握)
file = open("D:\Test1\\test.txt",'r',encoding='utf-8')
res = file.read() # read()读取全部,进行完一次读取操作后,光标到文末  readline()读取单行   readlines()读取多行
print(res)

# 追加a(重点掌握)
file = open("D:\Test1\\test1.txt",'a+',encoding='utf-8')
file.write("\n等待过年回家")

# 可读可写r+
file = open("D:\Test1\\test1.txt",'r+',encoding='utf-8')
file.write('kite你好')

# 写w
file = open("D:\Test1\\test1.txt",'w',encoding='utf-8')
file.write('hello')  # (write()直接写  writeline()写单行   writelines()写多行,换行位置加\n)

# 可读可写w+
file = open("D:\Test1\\test1.txt",'w+',encoding='utf-8')
file.write('棒棒哒')

二.路径

1.新建文件

  • 新建目录/文件夹 : os.mkdir(‘文件名’)
  • 跨级新建目录 :【 相对路径 】 os.mkdir(‘kite/v1’) 【 绝对路径 】os.mkdir(“D://Test3/base_python/Kite/v2”)

2.删除文件

  • 一级一级的删除 : os.rmdir(“kite/v1”)
  • 不推荐一次性删除 : os.rmdir(“kite”) 报错:OSError:[WinErrorr 145]目录不是空的

3.获取路径

  • 获取当前工作目录 : path = os.getcwd() 【 具体到最后一级目录 】
  • 获取当前文件的绝对路径 : path = os.path.realpath(file) 【 具体到模块名 】
  • 获取文件/目录所在的路径 的父级目录: os.path.dirname(filename)
# 方法1
dir = os.path.dirname(__file__) # 当前文件上级目录
# 方法2
BASEDIR = os.path.dirname(dir) # 当前文件的上上级目录

切换工作路径: os.chdir()

4.拼接路径

  • +或 join : os.path.join(os.getcwd(),路径2)

5.判断文件

  • 判断是否为目录 : os.path.isdir(com_path)
  • 判断是否为文件 : os.path.isfile(com_path)
  • 判断文件是否存在 : os.path.exists(文件名)

6.罗列文件路径 : os.listdir(path)

7.当前文件的绝对路径:__file__

8.__name__: 如果当前文件做程序的启动文件中,它的值是 _main_;如果不在启动文件中,代表的就是所在的文件(模块)的模块名

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。