Python基础——os模块

os模块提供了多数操作系统的功能接口函数

1.os.name——name指操作系统的名字,主要作用是判断目前正在使用的平台,并给出操作系统的名字,如Windows 返回 'nt'; Linux/mac 返回'posix'。注意该命令不带括号。

注意:os.name 该条命令不需要带括号(  ),使用其余os模块的命令基本上都要带括号里面的参数。

例如:mac操作系统

2.os.getcwd()——全称是'get current work directory',获取当前工作的目录;

例如:

        返回结果为:'/Users/mac/PycharmProjects/Document_learning'。

3.os.listdir(path)——列出path目录下所有的文件和目录名。Path参数可以省略。

 

 以列表的形式全部列举出来,其中没有区分目录和文件。 

4.os.remove(path)——删除path指定的文件,该参数不能省略。如果是当前路径下的文件,参数直接写成 ‘当前文件完整名称’。

5.os.rmdir(path)——删除path指定的目录,该参数不能省略。

6.os.mkdir(path)——创建path指定的目录,该参数不能省略。

注意:这样只能建立一层,要想递归建立可用:os.makedirs()

os.makedirs('一级文件夹/sub二级/sub三级')  ##允许创建多级文件夹

创建文件夹的结果如下: 

 

 注意:当删除里面有内容的目录文件夹时,无法使用os.remove语句

        这个时候就需要引用一个新的模块:shutil ———使用该模块的shutil.rmtree( )来实现删除功能。

 

 

import shutil 
shutil.rmtree('一级文件夹')  # 文件中包含有内容的删除方式

总结:shutil.rmtree功能:               ————————非空删除——————————

 注:遍历目录的方法

# 获取python中的目录列表
list_mac=os.listdir('/Users/mac')
for wenjian in listR:
     print(wenjian)

以上为老版的方法,通过for循环遍历.
以下为新方法:

 scandir和with一起来使用,上下文管理器会在迭代器遍历完成后自动释放资源。

rs=os.scandir('/Users/mac')
print(rs)
with rs as obj:
    for entry in obj:
        print(entry.name)
        pass

注意:代码中的name可写可不写,输出格式略有不同。

 

base_path='/Users/mac'
for entry in os.listdir(base_path):
    if os.path.isfile(os.path.join(base_path,entry)):
        print(entry)
    if os.path.isdir(os.path.join(base_path,entry)):
        print('文件'+entry)
        pass

输出结果:

文件Untitled Folder
.Rhistory
文件.config
文件Music
matlab_crash_dump.83707-1
文件DocumentsImageResources
文件sensors
.condarc
.python_history-55992.tmp
文件NoteExpressWeb.Attachments
.DS_Store
文件.R
.CFUserTextEncoding
.xonshrc
文件.subversion
.zshrc
文件.local
文件Pictures
文件.ipython
文件Desktop
文件Library
文件.matplotlib
NetworkxLearn.ipynb
文件.oracle_jre_usage
文件Parallels
文件.TrojanX
文件.ShadowsocksX-NG
文件.cups
文件.bash_sessions
文件PycharmProjects
文件Public
文件.idlerc
.tcshrc
.RData
文件.anaconda
文件Applications (Parallels)
文件Movies
文件Applications
.Rapp.history
MCMC.ipynb
文件opt
文件.Trash
文件.ipynb_checkpoints
文件.jupyter
文件Documents
matlab_crash_dump.84474-1
文件NoteExpressWeb
文件.BetterIntelliJ
文件Sunlogin Files
文件.vscode
.bash_profile
文件anaconda3
文件Downloads
.python_history
文件.continuum
文件Untitled Folder 1
.bash_history
.viminfo
文件.astropy
文件.conda

7. os.path.isfile(path)——判断指定对象是否为文件。是返回True,否则False

8. os.path.isdir(path)——判断指定对象是否为目录。是True,否则False。

9. os.path.exists(path)——检验指定的对象是否存在。是True,否则False。

10. os.path.split(path)——返回路径的目录和文件名,即将目录和文件名分开,而不是一个整体。此处只是把前后两部分分开而已。就是找最后一个'/'。

11. os.system(cmd)——执行shell命令。返回值是脚本的退出状态码,0代表成功,1代表不成功。

12. os.chdir(path)——'change dir'改变目录到指定目录

13. os.path.getsize()——获得文件的大小,如果为目录,返回0

14. os.path.abspath()——获得绝对路径。

15. os.path.join(path, name)—连接目录和文件名,与os.path.split(path)相对。

16.os.path.basename(path)——返回文件名

17. os.path.dirname(path)——返回文件路径

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python中,os模块是一个内置模块,不需要额外下载和安装就可以使用。\[2\]你可以通过import os语句导入os模块,然后使用其中的函数和方法来处理文件和目录。\[3\]os模块提供了许多常用的方法,比如os.getcwd()用于获取当前工作目录,os.chdir()用于切换路径,相当于cd命令。\[4\]所以,可以说在Python中是有os模块的。 #### 引用[.reference_title] - *1* *2* *5* [9.3 Pythonos 模块](https://blog.csdn.net/weixin_63986098/article/details/123908776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python模块——os模块详解](https://blog.csdn.net/qq_46416934/article/details/125241212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *4* [Pythonos模块](https://blog.csdn.net/qq_44614026/article/details/107232358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值