首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

文件和目录操作

本篇主要介绍文件目录、文件的一些操作方法。

其中目录的操作需要引入os模块:

importos

操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中。

1、目录操作方法

1.1 查看当前目录

importos

print(os.getcwd())#查看当前目录

输出:

>>>D:\Code

1.2 返回指定目录下的所有文件

importos

path =r"D:\Code"

print(os.listdir(path))

会以列表的形式,返回所有文件

输出:

>>>['.idea', '4.py', 'log', 'test.txt', 'venv', '函数.py', '基本数据类型.py','文件读写.py', '输入和输出.py']

1.3 目录创建、重命名、删除

importos

path =r"D:\Code"

# 在当前目录D:\Code下创建目录

os.mkdir("test")#方式1:直接创建test

os.mkdir(r"D:\Code\test")#方式2:输入完整目录进行创建

# 重命名刚刚创建的目录

os.rename("test","testpy")

# 删掉刚刚创建的目录

os.rmdir("testpy")#方式1:直接删除test

os.rmdir(r"D:\Code\testpy")#方式2:输入完整目录进行删除

1.4 判断目录是否存在

1.5 目录拼接、拆分

输出:

>>>D:\Code\test\test.txt

>>>('D:\\Code\\test', 'test.txt')

>>>('D:\\Code\\test\\test', '.txt')

2、打开文件/关闭文件

文件的打开和关闭用open()和close()来实现

open()函数主要参数介绍:

参数file:文件路径

参数mode:打开方式,常用的mode有

r 以只读的方式打开文件,文件读取光标会放到文件的开头

w 打开一个文件,只用于写入,如果文件存在则打开文件,写入的内容会覆盖原内容,如果文件不存在,则新生成一个文件。

a 打开一个文件用于追加。如果文件存在,则文件读写光标会放到文件的末尾,新写入的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

+ 打开一个文件进行更新(可读可写)。

b 二进制模式。

还有r+、w+、a+、rb、wb、ab等。可自行参考官方文档。

参数encoding:编码方式 (encoding="utf-8"一般都是utf-8)

errors:错误处理 (errors="ignore"表示忽略错误)

path =r"D:\Code\test.txt"

f =open(path,"r")

#f = open(path, "r", encoding="utf-8", errors="ignore")

f.close()

3、读写文件

3.1 read() 读取文件内容

path =r"D:\Code\test.txt"

f =open(path,"r")

txt = f.read()#读取文件全部内容

print(txt)

f.close()

3.2 read(n) 读取指定字符数

path =r"D:\Code\test.txt"

f =open(path,"r")

txt = f.read(2)#读取指定字符 -1 表示读取全部内容

print(txt)

f.close()

3.3 readline() 读取整行

path =r"D:\Code\test.txt"

f =open(path,"r")

txt = f.readline()#读取整行

print(txt)

f.close()

3.4 readlines() 读取所有行并返回列表

path =r"D:\Code\test.txt"

f =open(path,"r")

txt = f.readlines()#读取所有行并返回列表

print(txt)

f.close()

输出:

>>>['hello 智数分析1!\n', 'hello 智数分析2!\n', 'hello 智数分析3!\n', 'hello 智数分析4!']

3.5 写文件

内容先写入内存缓冲区,然后再由内存缓冲区写入到文件。

path =r"D:\Code\test.txt"

f =open(path,"a")

f.write("hello python")#将信息写入内存缓冲区

f.flush()#刷新内存缓冲区

f.close()

4、文件读写异常

前面已经介绍过了python异常处理,我们在处理文件时也经常会遇到一些异常,会导致f.close()无法执行。

如果也用try......except......finally方式去处理,程序代码会比较复杂。

try:

f = openr(r"D:\Code\test.txt",'r')

print(f.read())

finally:

iff:

f.close()

Python提供了with语句来帮我们自动调用close()方法,以后我们要处理文件时,都可以用以下这种写法。

path =r"D:\Code\test.txt"

withopen(path,"r")asf:

print(f.read())

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181007G09XSX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券