• day16 常用模块 os模块 ( 3)


    os模块

    os模块与操作系统交换的一个接口

    os常用方法:

     

     1 os.remove(‘path/filename’) 删除文件
     2 
     3 os.rename(oldname, newname) 重命名文件
     4 
     5 os.walk() 生成目录树下的所有文件名
     6 
     7 os.chdir('dirname') 改变目录
     8 
     9 os.mkdir/makedirs('dirname')创建目录/多层目录
    10 
    11 os.rmdir/removedirs('dirname') 删除目录/多层目录
    12 
    13 os.listdir('dirname') 列出指定目录的文件
    14 
    15 os.getcwd() 取得当前工作目录
    16 
    17 os.chmod() 改变目录权限
    18 
    19 os.path.basename(‘path/filename’) 去掉目录路径,返回文件名
    20 
    21 os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径
    22 
    23 os.path.join(path1[,path2[,...]]) 将分离的各部分组合成一个路径名
    24 
    25 os.path.split('path') 返回( dirname(), basename())元组
    26 
    27 os.path.splitext() 返回 (filename, extension) 元组
    28 
    29 os.path.getatimectimemtime 分别返回最近访问、创建、修改时间
    30 
    31 os.path.getsize() 返回文件大小
    32 
    33 os.path.exists() 是否存在
    34 
    35 os.path.isabs() 是否为绝对路径
    36 
    37 os.path.isdir() 是否为目录
    38 
    39 os.path.isfile() 是否为文件

     

    举例演示

      1 #os模块就是对操作系统进行操作,使用该模块必须先导入模块:
      2 import  os
      3 
      4 # getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
      5 res = os.getcwd()
      6 print(res)
      7 
      8 #chdir() 改变当前工作目录
      9 
     10 os.chdir("G:/2020老男孩全栈/day14 常用模块")
     11 
     12 res1 =os.getcwd()
     13 print(res1)
     14 
     15 #操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作
     16 open('02.txt','w')
     17 
     18 # open("完整的路径","模式")
     19 
     20 #listdir () 获取指定的文件夹中所有的内容的名称列表
     21 
     22 res2=os.listdir("G:/2020老男孩全栈/day14 常用模块")
     23 print(res2)
     24 
     25 
     26 """
     27 import os
     28 #mkdir()  创建文件夹
     29 os.mkdir("kwx")
     30 
     31 # makedir 递归创建文件夹
     32 # os.makedirs("G:/2020老男孩全栈/day14 常用模块/a/b/c/d")
     33 
     34 
     35 # rmdir() 删除空目录
     36 # os.rmdir("kwx")
     37 
     38 #removedirs 递归删除文件夹  必须都是空目录
     39 # os.removedirs("G:/2020老男孩全栈/day14 常用模块/a/b/c/d")
     40 
     41 
     42 
     43 #rename()文件 或文件夹重命名
     44 
     45 # os.rename("G:/2020老男孩全栈/day14 常用模块/a","G:/2020老男孩全栈/day14 常用模块/abc")
     46 # os.rename("02.txt","002.txt")
     47 
     48 # stat()获取文件或者文件夹的信息
     49 result=os.stat("G:/2020老男孩全栈/day14 常用模块/1.0时间模块.py")
     50 print(result)
     51 
     52 
     53 # system()执行系统命令(危险函数)
     54 #result = os.system('ls -al')  #获取隐藏文件
     55 #print(result)
     56 
     57 
     58 #环境变量
     59 '''
     60 环境变量就是一些命令的集合
     61 操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合
     62 '''
     63 #getenv() 获取系统的环境变量
     64 result = os.getenv('PATH')
     65 print(result.split(':'))
     66 
     67 #putenv() 将一个目录添加到环境变量中(临时增加仅对当前脚本有效)
     68 #os.putenv('PATH','/home/sy/下载')
     69 #os.system('syls')
     70 
     71 #exit() 退出终端的命令
     72 
     73 #os模块中的常用值
     74 #curdir  表示当前文件夹   .表示当前文件夹  一般情况下可以省略
     75 print(os.curdir)
     76 
     77 #pardir  表示上一层文件夹   ..表示上一层文件夹  不可省略!
     78 print(os.pardir)
     79 
     80 #os.mkdir('../../../man')#相对路径  从当前目录开始查找
     81 #os.mkdir('/home/sy/man1')#绝对路径  从根目录开始查找
     82 
     83 #name 获取代表操作系统的名称字符串
     84 print(os.name) #posix -> linux或者unix系统  nt -> window系统
     85 
     86 #sep 获取系统路径间隔符号  window ->    linux ->/
     87 print(os.sep)
     88 
     89 #extsep 获取文件名称和后缀之间的间隔符号  window & linux -> .
     90 print(os.extsep)
     91 
     92 #linesep  获取操作系统的换行符号  window -> 
      linux/unix -> 
    
     93 print(repr(os.linesep))
     94 
     95 
     96 
     97 #导入os模块
     98 import os
     99 
    100 #以下内容都是os.path子模块中的内容
    101 
    102 #abspath()  将相对路径转化为绝对路径
    103 path = './boys'#相对
    104 result = os.path.abspath(path)
    105 print(result)
    106 
    107 #dirname()  获取完整路径当中的目录部分  &  basename()获取完整路径当中的主体部分
    108 path = '/home/sy/boys'
    109 result = os.path.dirname(path)
    110 print(result)
    111 
    112 result = os.path.basename(path)
    113 print(result)
    114 
    115 #split() 将一个完整的路径切割成目录部分和主体部分
    116 path = '/home/sy/boys'
    117 result = os.path.split(path)
    118 print(result)
    119 
    120 #join() 将2个路径合并成一个
    121 var1 = '/home/sy'
    122 var2 = '000.py'
    123 result = os.path.join(var1,var2)
    124 print(result)
    125 
    126 #splitext() 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
    127 path = '/home/sy/000.py'
    128 result = os.path.splitext(path)
    129 print(result)
    130 
    131 #getsize()  获取文件的大小
    132 path = '/home/sy/000.py'
    133 result = os.path.getsize(path)
    134 print(result)
    135 
    136 #isfile() 检测是否是文件
    137 path = '/home/sy/000.py'
    138 result = os.path.isfile(path)
    139 print(result)
    140 
    141 #isdir()  检测是否是文件夹
    142 result = os.path.isdir(path)
    143 print(result)
    144 
    145 #islink() 检测是否是链接
    146 path = '/initrd.img.old'
    147 result = os.path.islink(path)
    148 print(result)
    149 
    150 #getctime() 获取文件的创建时间 get create time
    151 #getmtime() 获取文件的修改时间 get modify time
    152 #getatime() 获取文件的访问时间 get active time
    153 
    154 import time
    155 
    156 filepath = '/home/sy/下载/chls'
    157 
    158 result = os.path.getctime(filepath)
    159 print(time.ctime(result))
    160 
    161 result = os.path.getmtime(filepath)
    162 print(time.ctime(result))
    163 
    164 result = os.path.getatime(filepath)
    165 print(time.ctime(result))
    166 
    167 #exists() 检测某个路径是否真实存在
    168 filepath = '/home/sy/下载/chls'
    169 result = os.path.exists(filepath)
    170 print(result)
    171 
    172 #isabs() 检测一个路径是否是绝对路径
    173 path = '/boys'
    174 result = os.path.isabs(path)
    175 print(result)
    176 
    177 #samefile() 检测2个路径是否是同一个文件
    178 path1 = '/home/sy/下载/001'
    179 path2 = '../../../下载/001'
    180 result = os.path.samefile(path1,path2)
    181 print(result)
    182 
    183 
    184 #os.environ 用于获取和设置系统环境变量的内置值
    185 import os
    186 #获取系统环境变量  getenv() 效果
    187 print(os.environ['PATH'])
    188 
    189 #设置系统环境变量 putenv()
    190 os.environ['PATH'] += ':/home/sy/下载'
    191 os.system('chls')

    实践:

     1 在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。
     2 >>> os.path.normcase('c:/windows\system32\')   
     3 'c:\windows\system32\'   
     4    
     5 
     6 规范化路径,如..和/
     7 >>> os.path.normpath('c://windows\System32\../Temp/')   
     8 'c:\windows\Temp'   
     9 
    10 >>> a='/Users/jieli/test1/\a1/\\aa.py/../..'
    11 >>> print(os.path.normpath(a))
    12 /Users/jieli/test1
    13 
    14 
    15 os路径处理
    16 #方式一:推荐使用
    17 import os
    18 #具体应用
    19 import os,sys
    20 possible_topdir = os.path.normpath(os.path.join(
    21     os.path.abspath(__file__),
    22     os.pardir, #上一级
    23     os.pardir,
    24     os.pardir
    25 ))
    26 sys.path.insert(0,possible_topdir)
    27 
    28 
    29 #方式二:不推荐使用
    30 os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    31 
    32 
    33 
    34 import os
    35 
    36 # 获取某一个文件夹下所有的子文件以及子文件夹的名字
    37 res = os.listdir('.')
    38 print(res)
    39 
    40 #大小
    41 size=os.path.getsize(r'G:2020老男孩全栈2020老男孩egon老师福利day22代码1 时间模块.py')
    42 print(size)
    43 
    44 # 应用程序----->>"ls /"
    45 
    46 # os.system("ls /")
    47 
    48 #规定:key 与value必须是字符串
    49 
    50 os.environ['aaaaaaaaaa']='111'
    51 print(os.environ)
    52 
    53 print(os.path.dirname(r'/a/b/c/d.txt'))
    54 print(os.path.basename(r'/a/b/c/d.txt'))
    55 
    56 
    57 print(os.path.isfile(r'笔记.txt'))
    58 print(os.path.isfile(r'aaa'))
    59 print(os.path.isdir(r'aaa'))
    60 
    61 print(os.path.join('a','/','b','c','d'))
    62 
    63 
    64 
    65 # 推荐用这种
    66 BASE_DIR=os.path.dirname(os.path.dirname(__file__))
    67 # print(BASE_DIR)
    68 
    69 
    70 # BASE_DIR=os.path.normpath(os.path.join(
    71 #     __file__,
    72 #     '..',
    73 #     '..'
    74 # ))
    75 # print(BASE_DIR)
    76 
    77 # 在python3.5之后,推出了一个新的模块pathlib
    78 from pathlib import Path
    79 
    80 # res = Path(__file__).parent.parent
    81 # print(res)
    82 
    83 
    84 # res=Path('/a/b/c') / 'd/e.txt'
    85 # print(res)
    86 
    87 # print(res.resolve())

     

  • 相关阅读:
    C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据)
    Tomcat service.xml详解
    修改windows服务器上面tomcat启动窗口的名称
    表空间
    安装selenium遇到的问题
    oracel 锁表查询
    Can not perform this action after onSaveInstanceState
    Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.HEADSET_PLUG
    Java.lang.IllegalStateException Activity has been destroyed
    StrictMode 使用
  • 原文地址:https://www.cnblogs.com/kwkk978113/p/13384398.html
Copyright © 2020-2023  润新知