Python基础——os模块

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

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

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

例如:mac操作系统Python基础——os模块_第1张图片

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三级')  ##允许创建多级文件夹

创建文件夹的结果如下: 

 Python基础——os模块_第2张图片

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

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

 

Python基础——os模块_第3张图片 

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)——返回文件路径

你可能感兴趣的:(Python,python)