文件系统

一、什么是模块?

和 python 文件相关以及非常有用的模块。模块是什么?

试图使用 random 里面的 randint 产生 1 到 10 的随机数。 使用 randint 这个函数,必须引用 random 这个模块。secret 的值是一个随机数。

刚才没有导入模块的时候,是因为 random 根本没有被定义,整个命名空间里找不到 random 这个东西。把 random 导入后,就找到 random 里面的 randint 这个函数了。模块是一个包含所有定义的函数和变量的文件,它的后缀是 .py,和 python 的文件的后缀是一样的。模块可以做到被别的程序所引入,用 import 导入 random 模块,使用该模块中函数等功能。

二、os 模块

平时说的 ios 是 iphone 的操作系统的意思。python 提供 os 模块来实现就行了。

我们所知道常用的操作系统就有: windows,mac os,linux,unix 等,这些操作系统底层对于文件系统的访问工作原理是不一样的,因此你可能就要针对不同的系统来考虑使用哪些文件系统模块。这样的做法是非常不友好而且麻烦的,因为这样就意味着当你的程序运行环境一改变,你就要相应地去修改大量的代码来应付。

这些都是 os 模块的函数,把模块导入,这些函数才能使用。有了 os 模块,我们不需要关心什么操作系统下使用什么模块,os 模块会帮你选择正确的模块并调用。

三、模块中函数的使用

1、返回当前工作目录 getcwd():

例如直接 get.cwd() 提示 错,是因为没有这个命名的,当 import os 模块后,输入 os.getcwd(),得到这个代码所在的执行路径,返回当前的工作路径。

2、改变当前工作目录 chdir(path):

切换到 E 盘成功!

3、列举指定目录中的文件名 listdir(path=’.’):

成功把 C 盘的文件列举出来了!

4、创建单层目录 mkdir(path):

但是如果这样写,就会 错:

必须要有父目录才能创建一个子目录出来。

5、删除文件目录 rmdir(path):

必须先删除目录里的文件才能删除目录,否则会 错。

6、remove(path) 删除文件:

7、递归删除目录 rmdir(path):

确保目录里面没有子文件,如果有的话,把目录里面的子文件一层一层地递归删除。确保目录里面没有子文件,否则就会 错。

运行系统的 shell 命令:

成功打开计算器!

8、在 linux 和 windows 里面用 . 表示当前目录,用 .. 表示上一级目录。这不是函数,这是常量的定义而已。显示当前目录下有什么文件和文件夹,可以这样写:

os.nam指代当前使用的操作系统(包括:”posix’,’nt’,’mac’,’os2’,’ce’,’java’),’posix’,是 unix 系统,nt 是 windows 平台。

os.path 模块不属于 os 模块。

1、basename(path) 把路径去掉,直接返回文件名。

2、dirname(path),去掉文件名,单独返回目录路径。

3、join(path1[,path2[,…]]),将 path1, path2 各部分组合成一个路径名。

4、split(path) 分割文件名与路径,返回 (f_path,f_name) 元组。 如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或目录是否存在。

前面一个元素是路径,后面一个元素是文件名。如果分不清路径,也会把最后一个路径当作文件名。所以需要人为地进行判断。

5、splitext(path),分离文件名与扩展名,返回 (f_name,f_extension) 元组。

6、getsize(file),返回指定文件的尺寸,单位是字节。如果 getsize(file) 中传入带路径的 file,如果不带路径,默认当前工作路径下的。getatim 返回指定文件最近的访问时间(浮点型秒数,可用 time 模块的 gmtime() 或 localtime() 函数换算)。gmtime() 是英国的标准时间时,localtime() 可以获取现在的时间。给文件添加内容,得出最新修改的时间:

创建时间依然没有改变:

7、什么是绝对路径和相对路径?

绝对路径是一个完整的路径,完整的描述了文件位置的路径。相对路径:从半路开始到你想找到的那个文件的位置。

例如绝对路径: F:1A

相对路径: ..1

8、ismount(path),判断指定路径是否存在且是一个挂载点。例如 E 盘 C 盘 D 盘都是挂载点:

C 盘中的文件 a 不是挂载点。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月21日
下一篇 2022年6月21日

相关推荐