【python基础知识学习(3)】python中文件的操作和 Python format 格式化函数

(一)python中的文件操作函数

(1)文件的打开与关闭

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。

语法格式为:open(文件名,访问模式)

示例如下:

f = open('test.txt', 'w')

常见访问模式的具体说明:
在这里插入图片描述
关闭文件的函数为close( ),示例如下:

    # 新建一个文件,文件名为:test.txt
    f = open('test.txt', 'w')

    # 关闭这个文件
    f.close()

(2) 文件的读和写/创建

使用write()可以完成向文件写入数据。
注意:如果文件不存在那么创建,如果存在那么就先清空,然后写入数据。示例如下:

f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。示例如下:令test.txt的文本内容是 hello world,i am here!

f = open('test.txt', 'r')

content = f.read(5)

print(content)

print("-"*30)

content = f.read()

print(content)

f.close()

上述程序的运行结果如下:
在这里插入图片描述
注意: 如果使用了“读操作”多次,那么后面读取的数据是从上次读完后的位置开始的。

此外,除了read()函数,还有一些其他函数也可以完成读取任务,具体如下:

(1)函数readlines()可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
(2)函数readline() 用于读取文件中的一行,包含最后的换行符“\n”。

(3)文件重命名

os模块中的rename()可以完成对文件的重命名操作,函数格式:rename(需要修改的文件名, 新的文件名),示例如下:

    import os 
    os.rename("heihei.txt", "haha.txt")

(4)文件的删除

os模块中的remove()可以完成对文件的删除操作,函数格式:remove(待删除的文件名),示例如下:

    import os 
    os.remove("heihei.txt")

(5)文件夹的创建与删除

创建

方法一:os.mkdir

使用python创建文件夹,通常使用os.mkdir方法,在使用这个方法时有几个小的细节需要注意,假设代码是这样编写的

import os

os.mkdir('/dir_1/dir_2/dir_3')    # windows下是‘\’,linux下是‘/’
# linux与windows文件系统有什么区别?
# 1、linux文件系统区分大小写,而windows文件系统不区分大小写;
# 2、linux文件路径使用“/”,而windows文件路径使用“\”;
# 3、linux不会锁定对文件的独占访问,而windows会锁定对文件的独占访问。

(1)需要保证/dir_1/dir_2 是存在的,否则将引发FileNotFoundError,如果/dir_1/dir_2/dir_3 已经存在,又会引发FileExistsError。
(2)通常,使用os.path.exists方法判断关键的目录是否已经存在,来决定是否新建文件夹。

方法二:os.makedirs

(1)os.makedirs 可以视为os.mkdir的升级版本,它以递归的方式创建文件夹,如果dir_1不存在,就先创建dir_1,而后递归创建剩余的文件夹,这样就不存在FileNotFoundError;
(2)如果想要创建的目录已经存在,也没有关系,设置exist_ok = True, 就不会引发FileExistsError;

import os

os.makedirs('./1/2/3/4/5', exist_ok=True)

这两行代码可以执行多次,不会有任何错误或异常
注意:
os.mkdir(‘/dir_1/dir_2/dir_3’)
os.makedirs(‘./1/2/3/4/5’, exist_ok=True)
这两个语句中第一个‘/’前面有‘.’和没有‘.’的区别。

删除

如果要删除文件夹,则用命令:os.rmdir(“haha1”) ,即rmdir(删除文件夹的路径)

(二) Python format 格式化函数

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。
“{} {}”.format(“hello”, “world”) # 不设置指定位置,按默认顺序
‘hello world’

“{0} {1}”.format(“hello”, “world”) # 设置指定位置
‘hello world’

“{1} {0} {1}”.format(“hello”, “world”) # 设置指定位置
‘world hello world’

也可设置参数

    #!/usr/bin/python
	# -*- coding: UTF-8 -*-
	print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
	 
	# 通过字典设置参数
	site = {"name": "菜鸟教程", "url": "www.runoob.com"}
	print("网站名:{name}, 地址 {url}".format(**site))
	 
	# 通过列表索引设置参数
	my_list = ['菜鸟教程', 'www.runoob.com']
	print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

运行结果:
在这里插入图片描述
也可以向 str.format() 传入对象:

	#!/usr/bin/python
	# -*- coding: UTF-8 -*-
	 
	class AssignValue(object):
	    def __init__(self, value):
	        self.value = value
	my_value = AssignValue(6)
	print('value 为: {0.value}'.format(my_value))  # "0" 是可选的

运行结果:
在这里插入图片描述
数字格式化

	 print("{:.2f}".format(3.1415926))

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此外我们可以使用大括号 {} 来转义大括号,如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
print ("{} 对应的位置是 {{0}}".format("runoob"))

输出结果为:

runoob 对应的位置是 {0}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lingchen1906

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值