python之os模块

os


import os

#1.获得当前计算机操作系统的名字
sys_name = os.name
print(sys_name)
#nt -- windows posix - Mac / Linux

#2.获得操作系统对应的信息 window系统不支持
# sys_info = os.uname()
# print(sys_info)
'''
"/Applications/Python 3.7/IDLE.app/Contents/MacOS/Python" /Users/chenxin/Desktop/Fighting。/D11/practice.py
posix.uname_result(sysname='Darwin', nodename='localhost', release='17.5.0', version='Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64', machine='x86_64')
'''

#3.或的设置的环境变量
environ = os.environ
#print(environ)

#获得指定字段设置的环境变量的值
path_value = os.environ.get("path")
print(path_value)

r'''
路径的分类:
  绝对路径
      从盘符开始 到具体指定的某个文件的路径
      # r"c:\users\11143\documents\os_pack\os_demo.py"
  相对路径
      参照物的 --- 当前文件所在目录
       
      .   --- 当前文件所在目录
      .. --- 当前文件所在的上一级目录
       
       
      目录系统
          Day11
              os_pack [现在所在的目录]
                  os_demo.py
                  os_demo1.py
              time_pack
                  time_demo.py
                  datetime_demo.py
                  calendar_demo.py
              listen.py
               
          ..\time_pack\time_demo.py
          ..\listen.py
          os_demo1.py
'''

#获得当前文件所在的目录
dir_path = os.curdir
print(dir_path)  # . 当前路径 相对路径中

#当前文件所在的绝对目录 C:\Users\11143\Documents\os_pack
absolute_path = os.getcwd()
print(absolute_path)

#格式化 多行注释也可以单做字符串显示
res = '''
要保持数据的原有书写格式
例如:
换行也要显示出来出来
'''
print("要保持数据的原有书写格式\n例如:\n换行也要显示出来出来")
print(res)


#获得 指定目录下所有直接子文件或则子目录的名字
#相对路径 使用项目中某些文件最好使用相对路径
path = r".."
#绝对路径
path = r"C:\Users\11143\Documents\"
file_list = os.listdir(path)
print(file_list)

'''
1. 创建目录
  mkdir --- make directory
'''
#参数放置的是路径 如果只写了一个名字 利用相对路路径
os.mkdir("test_dir")  如果已经存在 就不能再使用该方法创建了
#如果使用绝对路径 只能创建最后一级目录
os.mkdir(r"C:\Users\11143\Documents\os_pack\test_abs")

path = r"test_dirs_1\test_dirs_subdir"
#创建多级目录
os.makedirs(path)

#删除目录: 只能删除最后一级目录 而且该目录必须是一个空目录
os.rmdir(path)

#打开文件 生成一个与文件关联的操作手柄
'''
如果打开模式是r读的形式 该文件必须存在
模式 mode:
  r --- 只读
  w ---- 只写
      如果文件不存在 会创建文件
      如果文件存在 会先清除掉文件中的内容 再写入
  a --- 只写
      如果文件不存在 会创建文件
      如果文件存在   会在原有内容的基础上 进行追加
  b --- 以字节的形式进行操作
      rb -- 以内容的字节数据的格式 读取文件中的内容
      wb / ab -- 以内容的字节数据的格式 向文件中写入内容
          "你好".encode("gbk")
  + --- 可以操作读写
      r+
      w+
      rb+
      wb+
      a+
      ab+
'''
handle = open(r"..\listen1.py", "w")
print(handle)

#移除文件
os.remove(r"..\listen1.py")

#获得文件的信息
info = os.stat(r"..\listen.py")
print(info)

#重命名
os.rename("test_abs", "test")
os.rename(r"..\listen.py", r"..\lis.py")

'''
在os.path下 有对应的一些操作
'''
#1. 获得指定目录所在的绝对路径
abs_path = os.path.abspath(r"..")
print(abs_path)

#2.路径拼接
join_path = os.path.join(abs_path, r"os_pack\os_demo.py")
print(join_path)

#3.获得指定路径对应的扩展名
#在扩展名处进行切割 得到是一个元组 第一个值文件的路径 到文件名 第二个值就是文件的后缀名
extend_name = os.path.splitext(join_path)
print(extend_name[1])

#4.获得文件的名字 / 获得最后一级的名字
base_name = os.path.basename(join_path)
print(base_name)

#5. 获得除了最后一级之外的名字
dir_name = os.path.dirname(join_path)
print(dir_name)

#6.获得指定文件所占大小
file_size = os.path.getsize(join_path)
print(file_size)

#关于判断的
#1. 判断指定路径是否是绝对路径
res = os.path.isabs(join_path)
print(res)

#2. 判断指定路径是否是文件夹
res = os.path.isdir(join_path)
print(res)

#3. 判断指定路径是否是文件
res = os.path.isfile(join_path)
print(res)

#4. 判断指定路径是否在计算机中存在
path = r"..\lis1.py"
res = os.path.exists(path)
print(res)

 

posted on 2020-11-08 15:42  懒得显示  阅读(204)  评论(0编辑  收藏  举报