python3-读写文件

*os.path模块*

os.path模块包含了许多与文件名和文件路劲相关的有用函数。
os.path模块的完整文档在
https://docs.python.org/3/library/os.path.html


Windows上的倒斜杠以及os x 和Linux 上的正斜杠

Windows上运行os.path.join()函数
这里写图片描述
返回’user\bin\spam’ 请注意,倒斜杠有两个,因为每个倒斜杠需要由另一个倒斜杠字符来转义)。如果在OS X 或Linux 上调用这个函数,该字符串就会是’user/bin/spam’。
创建文件名称的字符串,os.path.join()函数就会很有用
这里写图片描述


当前工作目录

os.getcwd()函数可以取得当前工作路劲的字符串
os.chdir()改变它
这里写图片描述
如果要更改当前工作目录不存在,python就会报错。
注意: 当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。


绝对路径与相对路径

‘绝对路径’,总是从根文件夹开始
‘相对路劲’,它相对于程序的当前工作目录。
这里写图片描述


用os.makedirs()创建新文件夹

osmakedirs()将创建所有必要的中间文件夹,目的确保完整路径名存在
这里写图片描述

这里写图片描述


*处理绝对路劲*

os.path.abspath()

将返回参数的绝对路径的字符串。这将相对路径转换为绝对路径的更简单方法。

这里写图片描述

os.path.isabs(),如果参数是一个绝对路径,就返回True,如果参数是一个相对路径,就返回False。
这里写图片描述
//文件夹和文件可能与我的不同,尝试用你计算机上存在的文件夹来完成

os.path.relpath()将返回从start路径到path的相对路径的字符串,如果没有提供start,就使用当前工作目录为开始路径。
这里写图片描述

os.path.dirname() 将返回一个字符串,它包含path参数中最后一个斜杠之前的所有内容。
os.path.basename() 将返回一个字符串,它包含path参数中最后一个斜杠之后的所有内容。
这里写图片描述

os.path.split() 获取得这俩个字符串的元组

这里写图片描述

可以调用os.path.dirname()os.path.basename(),将它们的返回值放在一个元组中从而得到同样的元组。
这里写图片描述

os.path.split()不会接受一个文件路径并返回每个文件夹的字符串的列表。
使用split()字符串方法,并根据os.path.sep中的字符串进行分割。
这里写图片描述


查看文件大小和文件夹内容

os.path.getsize() 将返回patn参数中文件的字节数。
os.path.listdir() 将返回文件名字符串的列表。
这里写图片描述

如果想知道这个目录下所有文件的总字节数,就可以同时使用os.path.getsize()
os.listdir()
这里写图片描述
//注意使用了 os.path.join()来连接文件夹名称和当前的文件名。


检查路径有效性

如果path参数所知的文件或文件夹存在,os.path.exists() 将返回True,否则返回False。

如果path参数存在,并且是一个文件,os.path.isfile() 将返回True,否则返回False。

如果path参数存在,并且是一个文件夹,os.path.isdir() 将返回True,否则返回False。

这里写图片描述


文件读写过程

python3中,读写文件有3个步骤:

  1. 调用open()函数,返回一个File对象。
  2. 调用File对象的read()或write()方法。
  3. 调用File对象的close()方法,关闭该文件。

用open()函数打开文件

先创建一个hello.txt文件,读模式是默认的模式,如果不希望依赖于python的默认方式,可以明确指出该模式,向open()传入字符’r’,作为第二个参数。
这里写图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值