返回顶部
首页 > 资讯 > 后端开发 > Python >python os模块学习笔记
  • 661
分享到

python os模块学习笔记

学习笔记模块python 2023-01-31 01:01:42 661人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

import os os.mkdir(name) #创建目录 os.path.exists(name) #判断文件或者目录是否存在 os.path.isdir(name) #判断指定对象是否为目录。是True,否则Fa

import os
os.mkdir(name) #创建目录
os.path.exists(name) #判断文件或者目录是否存在
os.path.isdir(name) #判断指定对象是否为目录。是True,否则False。
os.mknod(name) #创建一个文件
os.path.isfile(name) #判断文件是否存在,存在返回True,否则返回False

>>> os.mkdir('aaaa')
>>> os.path.exists('aaaa')
True
>>> os.path.isdir('aaaa')
True
>>> os.mknod('test.txt')
>>> os.path.isfile('test.txt')
True

os.rmdir(name) #删除一个目录
os.remove(name) #删除一个文件

>>> os.rmdir('aaaa')
>>> os.path.isdir('aaaa')
False
>>> os.remove('test.txt')
>>> os.path.isfile('test.txt')
False

os.getcwd() #获取当前路径,相当于linux下的pwd命令
os.path.abspath(file|dir) #获取文件或者目录的绝对路径
os.path.basename(name) #获取文件名或文件夹名
os.path.dirname(name) #获取文件或文件夹的路径

>>> os.getcwd()
'/root/SuXinProject'
>>> os.path.abspath('.')
'/root/SuXinProject'
>>> os.path.dirname('/root/user.sh')
'/root'
>>> os.path.basename('/root/user.sh')
'user.sh'

os.path.splitext #分离文件名与扩展名
os.path.split #分离目录与文件名
os.path.join(path,name) #连接目录与文件名或目录

>>> os.path.split('/root/user.sh')
('/root', 'user.sh')
>>> os.path.splitext('/root/user.sh')
('/root/user', '.sh')
>>> os.path.join('/root/','user.sh')
'/root/user.sh'

os.chdir(dir) #切换目录
os.listdir(dir) #列出目录下的所有目录和文件
os.path.getsize(file|dir) #获取文件的大小,如果是目录则直接返回0
os.stat(name) #获取文件属性
os.system(commond) #执行系统命令
os.rename(old,new) #文件重命名

>>> os.chdir('/root')
>>> os.listdir('.')
['.vnc', 'Mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz', '.pydistutils.cfg', '.cache', '.git', 'file', '.mozilla', '.rnd', 'GUESS', 'Music', 'run.sh', '.finalshell', '.viminfy.tmp', '.config', 'Docker-logspout-elk', 'Desktop', 'sed.txt', '100oush.sh', 'pid2.txt', '.cshrc', 'myNginx', '.bash_profile', 'etcd', 'sh.txt', 'oushu.sh', '.docker', '.viminfx.tmp', 'pid.sh', 'test', '.PyCharm_helpers', 'user.sh', 'net', 'jiujiu.sh', '.dbus', 'sum100.sh', '.ssh', '.bashrc', 'LinEnum', 'sysinfo.sh', '.esd_auth', 'for100oushu.sh', 'pid1.txt', '.local', 'SuXinProject', 'phone.sh', '.ansible', '.viminfz.tmp', 'Documents', '.viminfo.tmp', 'study', '.ICEauthority', 'Pictures', 'for99.sh', '.bash_loGout', '.pid.sh.swp', 'qiuhe.sh', 'pid.txt', '.viminfo', '.npm', 'fors00oushu.sh', '.pki', '99.sh', '.gitconfig', 'etcd-v3.2.10-linux-amd64', 'nohup.out', 'Public', 'user1.sh', 'diff.txt', '.Xauthority', '.virtualenvs', '.node_repl_history', '.pip', '.bash_history', 'Downloads', 'Videos', 'killpid.sh', 'Templates', 'daemon.JSON', 'beijing', 'dif', '.tcshrc', 'kill.sh', '.mysql_history', 'biao.txt', 'blog']
>>> os.path.getsize('./user.sh')
299
>>> os.stat('./user.sh')
posix.stat_result(st_mode=33261, st_ino=143152, st_dev=64769L, st_nlink=1, st_uid=0, st_gid=0, st_size=299, st_atime=1543135673, st_mtime=1542818209, st_ctime=1542818209)
>>> os.system('whoami')
root
0
>>> os.rename('99.sh','999.sh')

os.getuid() #获取用户id
os.getgid() #获取用户组id
os.environ['环境变量名称']='环境变量值' #设置环境变量
os.environ['环境变量名称'] #获取环境变量
os.getenv('环境变量名称') #获取环境变量

>>> os.getuid()
0
>>> os.getgid()
0
>>> os.environ['python']='/usr/local/bin'
>>> os.environ['Python']
'/usr/local/bin'
>>> os.getenv('PYTHON')
'/usr/local/bin'

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) # 从上到下或从下到上遍历树来生成目录树中的文件名

参数

  • top - 以目录为根的每个目录产生3元组,即(dirpath,dirnames,filenames)。dirpath为目录的路径,为一个字符串
    dirnames列出了目录路径下面所有存在的目录的名称。
    filenames列出了目录路径下面所有文件的名称。
    不明白的可以看下图
  • topdown - 如果可选参数topdown为True或未指定,则从上到下扫描目录。如果topdown设置为False,则会自下而上扫描目录,不懂的话可以看下面的代码就明白了
  • onerror - 这可能会显示错误以继续行走,或者引发异常以中止行走。
  • followlinks - 如果设置为true,则访问符号链接指向的目录。
for root, dirs, files in os.walk("."):
...     for name in dirs:
...             print(os.path.join(root,name))
... 
./shell编程
./test
./ftp
./hexo

 for root, dirs, files in os.walk(".", topdown=False):
...      for name in files:
...             print(os.path.join(root, name))
... 
./shell编程/index.html
./test/index.html
./ftp/index.html
./hexo/index.html
./index.html
for root, dirs, files in os.walk("."):
...      for name in files:
...             print(os.path.join(root, name))
... 
./index.html
./shell编程/index.html
./test/index.html
./ftp/index.html
./hexo/index.html

欢迎关注个人微信公众号“没有故事的陈师傅”
python os模块学习笔记

--结束END--

本文标题: python os模块学习笔记

本文链接: https://lsjlt.com/news/183789.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python os模块学习笔记
    import os os.mkdir(name) #创建目录 os.path.exists(name) #判断文件或者目录是否存在 os.path.isdir(name) #判断指定对象是否为目录。是True,否则Fa...
    99+
    2023-01-31
    学习笔记 模块 python
  • python学习-OS模块
    OS模块是python内建模块,主要是对大量文件和大量路径进行操作os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'...
    99+
    2023-01-31
    模块 python OS
  • python学习笔记(九)、模块
    1 模块   使用import 语句从外部导入模块信息,python提供了很大内置模块。当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Python版本中,是扩展名为.pyc ...
    99+
    2023-01-31
    学习笔记 模块 python
  • Python 学习笔记 (4)—— 模块
           模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。        模块可以从其他程序 输入 以便利用它的功能。这也是我们使用Python标准库的方法。首先,我们...
    99+
    2023-01-31
    学习笔记 模块 Python
  • python zipfile模块学习笔记
    ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建、读取、写入、附加和列出一个ZIP文件。使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程很慢。1、测试是否为ZIP文件is_zi...
    99+
    2023-01-31
    学习笔记 模块 python
  • Python学习笔记5—Python模块
        python模块分为系统内置的模块、第三方的模块和用户编写的模块    默认情况下,python第三方的模块安装在python 的安装目录下site-packages下,以文件或者目录的形式存放    用户模块,程序模块化对区分功能...
    99+
    2023-01-31
    学习笔记 模块 Python
  • Python学习笔记之json模块和pickle模块
    目录json模块序列化与反序列化json模块中的方法pickle模块总结json模块 json用于不同语言之间的数据交换,比如C和Python之间等等,即可跨语言。而pickle只能...
    99+
    2023-05-18
    json模块 pickle模块 python各个模块讲解
  • Python学习笔记7——文本、模块
    参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3 文本文件的输入输出 Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读...
    99+
    2023-01-30
    学习笔记 模块 文本
  • Python学习笔记:json模块和pi
    Python中的json模块和pickle都是用于数据的序列化和反序列化,它们提供的方法也是一样的:dumps,dump,loads,load dumps(obj):将对象序列化为str。 dump(obj, fp):将对象序列化为...
    99+
    2023-01-30
    学习笔记 模块 Python
  • Python3学习笔记(urllib模块
    1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    ...
    99+
    2023-01-31
    学习笔记 模块 urllib
  • Nodejs学习笔记之Stream模块
    一,开篇分析 流是一个抽象接口,被 Node 中的很多对象所实现。比如对一个 HTTP 服务器的请求是一个流,stdout 也是一个流。流是可读,可写或兼具两者的。 最早接触Stream是从早期的unix开...
    99+
    2022-06-04
    学习笔记 模块 Nodejs
  • Nodejs学习笔记之NET模块
    一,开篇分析 从今天开始,我们来深入具体的模块学习,这篇文章是这个系列文章的第三篇,前两篇主要是以理论为主,相信大家在前两篇的学习中, 对NodeJS也有一个基本的认识,没事!!!趁热打铁,让我们继续将No...
    99+
    2022-06-04
    学习笔记 模块 Nodejs
  • NodeJS学习笔记之Http模块
    一,开篇分析 首先“Http”这个概念大家应该比较熟悉了,它不是基于特定语言的,是一个通用的应用层协议,不同语言有不同的实现细节,但是万变不离其宗,思想是相同的, NodeJS作为一个宿主运行环境,以Jav...
    99+
    2022-06-04
    学习笔记 模块 NodeJS
  • NodeJS学习笔记之MongoDB模块
    一,开篇分析 这篇属于扩展知识篇,因为在下面的文章中会用到数据库操作,所以今天就来说说它(Mongodb模块)。 (1),简介 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WE...
    99+
    2022-06-04
    学习笔记 模块 NodeJS
  • Python中shutil模块的学习笔记教程
    介绍 shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名...
    99+
    2022-06-04
    学习笔记 模块 教程
  • 周末学习笔记——day03(模块,包)
    一,复习 ''' 装饰器 @wraper # fn = wraper(fn) def fn(): pass def wrap(arg): def outer(func): # 可以用arg d...
    99+
    2023-01-31
    学习笔记 模块 周末
  • NodeJS学习笔记之FS文件模块
    一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。 (1),文件系统模...
    99+
    2022-06-04
    学习笔记 模块 文件
  • NodeJS学习笔记之(Url,QueryString,Path)模块
    一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析。废话不多说了,请看下面文档: (1),"Url模块"   来个小栗子:...
    99+
    2022-06-04
    学习笔记 模块 NodeJS
  • Node.js中的模块机制学习笔记
    Javascript自诞生以来,曾经没有人拿它当做一门编程语言。在Web 1.0时代,这种脚本语言主要被用来做表单验证和网页特效。直到Web 2.0时代,前端工程师利用它大大提升了网页上的用户体验,JS才被...
    99+
    2022-06-04
    学习笔记 模块 机制
  • 学习python的第二十天(os模块,s
    1.os模块(功能类似操作系统与文件交互) 1.常用模块功能 1.创建文件 1.mkdir 2.移除文件 1.remove 删除指定文件 2.rmdir 删除单级空目录,若目录不为空则无法删除 3.removedirs 若目录为空,则删...
    99+
    2023-01-31
    十天 模块 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作