Python 语言及其应用 Chapter_10 Note_1 文件和路径



文件
和其他语言一样,Python 的文件操作很像Unix。有些函数的名字相同,比如chown() 和
chmod(),不过也有很多新函数。
10.1.1 用open()创建文件
8.1 节介绍了如何使用open() 函数来打开文件或者创建文件。下面来创建一个名为oops.txt
的文本文件:
>>> fout = open('oops.txt', 'wt')
>>> print('Oops, I created a file.', file=fout)
>>> fout.close()


用exists()检查文件是否存在
要判断文件或者目录是否存在,可以使用exists(),传入相对或者绝对路径名,如下所示:
>>> import os
>>> os.path.exists('oops.txt')
True
>>> os.path.exists('./oops.txt')
True
>>> os.path.exists('waffles')
False
>>> os.path.exists('.')
True
>>> os.path.exists('..')
True

不光可以用来判断文件,还可以判断文件夹,所以最后2个例子里面也是返回True,   ‘.’表示当前文件夹,'..'表示上层文件夹。


用isfile()检查是否为文件
本节中的函数可以检查一个名称是文件、目录还是符号链接(详情见下方的例子)。
我们要学习的第一个函数是isfile,它只回答一个问题:这个是不是文件?
>>> name = 'oops.txt'
>>> os.path.isfile(name)
True
下面是判断目录的方法
>>> os.path.isdir(name)
False
一个点号(.)表示当前目录,两个点号(..)表示上层目录。它们一直存在,所以下面
的语句总会返回True:
>>> os.path.isdir('.')
True
os 模块中有许多处理路径名(完整的文件名,由/ 开始并包含所有上级目录)的函数。其
中之一是isabs(),可以判断参数是否是一个绝对路径名。参数不需要是一个真正的文件:
>>> os.path.isabs(name)
False
>>> os.path.isabs('/big/fake/name')
True
>>> os.path.isabs('big/fake/name/without/a/leading/slash')
False

os 模块中有许多处理路径名(完整的文件名,由/ 开始并包含所有上级目录)的函数。其
中之一是isabs(),可以判断参数是否是一个绝对路径名。参数不需要是一个真正的文件:
>>> os.path.isabs(name)
False
>>> os.path.isabs('/big/fake/name')
True
>>> os.path.isabs('big/fake/name/without/a/leading/slash')
False

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用copy()复制文件
copy() 函数来自于另一个模块shutil。下面的例子会把文件oops.txt 复制到文件ohno.txt:
>>> import shutil
>>> shutil.copy('oops.txt', 'ohno.txt')

shutil.move() 函数会复制一个文件并删除原始文件

用rename()重命名文件
这个函数的作用看名字就知道了。下面的例子会把ohno.txt 文件重命名为ohwell.txt 文件:
>>> import os
>>> os.rename('ohno.txt', 'ohwell.txt')

测试了一下,改不同的后缀名也是可以的




用abspath()获取路径名
这个函数会把一个相对路径名扩展成绝对路径名。如果你的当前目录是/usr/gabenlunzie,
其中有文件oops.txt,那你可以用这个函数得到下面的输出:
>>> os.path.abspath('oops.txt')
'/usr/gaberlunzie/oops.txt'


用remove()删除文件
下面的例子使用remove() 函数来删除oops.txt 文件:
>>> os.remove('oops.txt')
>>> os.path.exists('oops.txt')
False



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值