Python初级第2课——os模块(只读课堂)

本文介绍了Python的os模块,讲解了如何使用os模块与操作系统进行交互,包括获取当前工作目录、删除和创建文件及目录、执行shell命令、改变文件权限等功能。还详细讨论了os.path子模块,如获取文件的绝对路径、判断文件类型、路径拼接等操作。通过学习os模块,读者能更好地掌握Python文件操作。
摘要由CSDN通过智能技术生成

欢迎来到“只读课堂”!

这个模块和文件操作一样,使用它,可以与我们当前的系统进行交互。

OS模块简单介绍

os模块主要有以下几种:posix(适用于unix操作系统) nt(win) mac(旧版本的MACOS),dos(DOS)

使用os模块的过程中,不需要考虑平台差异,python解释器就会帮大家选择正确的系统支持

window系统下是nt

In [1]:

#但是你不需要考虑,你到底要选择哪个操作系统和代码,python会帮你选好你需要的操作环境,你只需要打代码就行了。

os对进程和进程运行环境进行管理,os模块还可以处理大部分文件系统操作:比如说,删除、重命名文件、遍历目录树,以及管理文件访问权限。

In [2]:

#之前是打开文件操作,但是现在os模块是在文件外进行操作。

os和sys的区别:

os负责程序与操作系统的交互,sys负责程序与python解释器的交互

os.path和sys.path:

sys.path是咱们常用的PATH环境变量,而os.path是一个模块,提供一些方法函数

常用OS模块函数(一)

os.name:输入正在使用的平台

os.getcwd():函数得到当前工作目录,即当前Python脚本工作的目录路径

运行目录:执行程序的路径

工作目录:程序运行时,程序中我们要操作的一系列相对路径(需要参照),以运行时目录为参照。并且可在程序运行时更改

os.listdir():返回指定目录下的所有文件和目录名的一个列表,但是并没有列出来什么是目录,什么是文件

os.remove('flie_name'):删除指定文件

os.rmdir('dir_name'):删除指定目录

先导入os模块

In [4]:

import os

In [5]:

os.name

Out[5]:

'nt'

In [6]:

#它会返回一些字母,也就是我们前面提到的操作系统的代号。

工作路径

In [9]:

os.getcwd()

Out[9]:

'C:\\Users\\Jimmy'

运行目录

In [11]:

#工作路径是可以改变的

In [16]:

#如果这里不给出目录的话,它会默认使用工作目录,也就会返回当前工作目录里的所有文件。

In [17]:

#如果我们想要实现一个小功能

In [21]:

#假如说我们要显示某个目录下的所有目录下的所有文件和所有文件夹

os.listdir()

In [22]:

os.listdir()

Out[22]:

['.ipynb_checkpoints',
 '.ipython',
 '.jupyter',
 '.pylint.d',
 '.vscode',
 '3D Objects',
 'AppCan settings',
 'AppData',
 'Application Data',
 'Contacts',
 'Cookies',
 'Desktop',
 'Documents',
 'Downloads',
 'Favorites',
 'Intel',
 'Links',
 'Local Settings',
 'MicrosoftEdgeBackups',
 'Music',
 'My Documents',
 'NetHood',
 'NTUSER.DAT',
 'ntuser.dat.LOG1',
 'ntuser.dat.LOG2',
 'NTUSER.DAT{47a6a17a-a514-11e7-a94e-ec0d9a05c860}.TM.blf',
 'NTUSER.DAT{47a6a17a-a514-11e7-a94e-ec0d9a05c860}.TMContainer00000000000000000001.regtrans-ms',
 'NTUSER.DAT{47a6a17a-a514-11e7-a94e-ec0d9a05c860}.TMContainer00000000000000000002.regtrans-ms',
 'ntuser.ini',
 'OneDrive',
 'Pictures',
 'PrintHood',
 'Python入门第24课——递归(只读课堂).ipynb',
 'Python初级第2课——os模块(只读课堂).ipynb',
 'Recent',
 'Saved Games',
 'Searches',
 'SendTo',
 'Templates',
 'Untitled.ipynb',
 'Videos',
 '「开始」菜单']

In [23]:

#我们可以随便给它来一个参数

In [24]:

#比如说桌面

In [27]:

os.listdir('C:\\Users\\Jimmy\\Desktop')

Out[27]:

['Acrobat Pro9.lnk',
 'Anaconda Navigator.lnk',
 'desktop.ini',
 'E听说.lnk',
 'Google Chrome.lnk',
 "Jeason's Files.lnk",
 'Jupyter Notebook.lnk',
 'QQ影音.lnk',
 'Visual Studio Code.lnk',
 '迅雷.lnk',
 '金山词霸2016.lnk']

In [29]:

#注意啊,一定要用双斜杠或者在前面加一个r,从而防止特定字母。

In [30]:

#但是这个功能只能反映桌面下的浅浅的一个目录,文件夹之类的都没展开,所以说这个功能还是比较low的。

删除指定文件

In [35]:

#先新建一个文件

In [36]:

os.listdir('C:\\Users\\Jimmy\\Desktop')

Out[36]:

['Acrobat Pro9.lnk',
 'Anaconda Navigator.lnk',
 'desktop.ini',
 'E听说.lnk',
 'Google Chrome.lnk',
 "Jeason's Files.lnk",
 'Jupyter Notebook.lnk',
 'QQ影音.lnk',
 'Visual Studio Code.lnk',
 '新建文件夹',
 '迅雷.lnk',
 '金山词霸2016.lnk']

In [37]:

#这里多了一个文件夹,可以拿来删除了

In [38]:

os.rmdir('新建文件夹')
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-38-814e3d4efbb6> in <module>()
----> 1 os.rmdir('新建文件夹')

FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '新建文件夹'

In [39]:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值