python学习笔记 day19 常用模块(四)

os 模块---和操作系统相关

1. os.getcwd()    # 获得当前的工作目录(路径)也就是python脚本工作的目录

import os
print(os.getcwd())

运行结果:

 

2.os.chdir('dirname')   # 更改当前的工作目录

import os
print(os.getcwd())   # 得到当前的工作目录
os.chdir('E:\pyhtonworkspace\py3-pratice\Pycharm_workspace\python_fullstack\week5')   # 更改文件目录
print(os.getcwd())

运行结果:

 

 3. os.curdir   # 返回. 表示留在当前目录;

    os.pardir # 返回.. 表示返回上一级;

import os
print(os.curdir)  # 返回.表示留在当前工作路径下
print(os.pardir)  # 返回.. 表示返回上一级目录

 

运行结果:

4.os.makedirs('filename1/filename2')  # 创建文件夹/文件; 

  os.removedirs()  # 删除文件夹;

import os
os.makedirs('filename1')  # 在当前工作目录下创建filename1 的文件夹
os.makedirs('filename1/filename2')  # 在当前目录的文件夹filename1下再创建一个子文件夹filename2
os.makedirs('filename1/filename3')  # 在当前目录的文件夹 filename1 下在创建一个子文件夹filename3 (与filename2同级)

运行结果:

 

 然后再来执行删除文件夹的操作:

os.removedirs('filename1/filename2')  # 删除filename1文件夹下的filename2 ,此时filename1和filename3会存在

运行结果:

 

再来删除filename3子文件夹:

os.removedirs('filename1/filename3')  # 删除filename1 文件夹下的filename3 由于filename1下的两个子文件夹都已被删除,所以fiename1为空 也会被删除掉

运行结果:

 

 5. os.mkdir('filename')  # 创建一个文件夹(makedirs(‘filename1/filename2’)是创建文件夹/子文件夹);

     os.rmdir('filename')  # 删除一个文件夹(removedirs('filename1/filename2') 删除文件夹/子文件夹);

import os
os.mkdir('info')
os.mkdir('info2')

运行结果:

 

删除这两个文件:

import os
os.rmdir('info')
os.rmdir('info2')

运行结果:

 

 6. os.remove('filename')  #  删除一个文件;

     os.rename('oldname','newname')  # 重命名一个文件;

import os
os.rename('info.txt','info2.txt')

运行结果:

 

当 os.remove('filename') 时:

7. os.listdir('dirname')  # 列出当前目录下的子文件夹和文件

import os
print(os.listdir(os.getcwd()))  # 首先os.getcwd()获得当前工作目录,然后os.listdir(dirname)获得该目录下的子文件夹和所有文件

运行结果:

只会显示 当前工作目录下的所有文件(01.py 和 filename3)和子文件夹(filename1), filename2不会显示 因为它不是直接属于day05这个文件夹下面,而是属于filename1文件夹

 

8. os.stat('filename')  # 可以显示当前文件的结构信息:

import os
print(os.stat('01.py'))

运行结果:

 

 9. os.sep  # 显示操作系统指定的文件路径分隔符(win 下面是 \    linux是 /)[win:一个文件目录中各层级之间的分割用/]---------python 代码的跨平台

     os.linesep  # 输出当前平台使用的行终止符 win是\t\n  linux 是 \n

     os.pathsep # 输出当前平台用于分割文件路径的字符串 win是; linux 是: [win:比如环境变量中 各个文件路径之间用;隔开,表示不同的文件目录]

     os.name ---输出字符串 指定当前的使用平台 ‘nt’--->win ;  'posix'----->linux

 

 10. os.system('bash commond ')  # 指定终端命令。无返回值;

       os.popen('bash commond')     # 运行shell命令,有返回值,获取执行结果

 

import os
os.system('dir')  # os.system('bash commond') 无返回值

运行结果:

 

再来看有返回值的os.popen('bash commond')

import os
ret=os.popen('dir').read()
print(ret)

运行结果:

11.  os.path.abspath(path)   # 返回path规范化的绝对路径

       os.path.split(path)    # 将path分割成目录和文件名的二元组返回

       os.path.dirname(path)  # 返回参数path的目录,其实也就是os.path.split(path)的第一个元素;

       os.path.basename(path)  # 返回参数path工作目录的文件名 其实就是os.path.split(path)的第二个元素;

import os
print(os.getcwd())  # 返回当前的工作目录
print(os.path.split(os.getcwd()))  # 将当前的工作目录使用os.path.split(path) 分割成文件名和目录 的二元组
print(os.path.dirname(os.getcwd()))  # 返回当前工作目录的目录,其实就是os.path.split(path)的第一个元素
print(os.path.basename(os.getcwd()))  # 返回path 当前工作目录的文件名,os.path.split(path)的第二个元素

 

运行结果:

 

12.  os.path.exits(path)  # 判断path是否存在;

       os.path.isabs(path)  # 判断path否是绝对路径;

       os.path.isdir(path)   # 判断path是否是存在的目录

       os.path.isfile(path)   # 判断path是否是存在的文件;

       os.path.join(path1,path2)   # 可以将多个路径组合起来

import os
print(os.path.join('c:user','user','file1','file2'))  # 可以将多个path组合起来

 

运行结果:

 

 13. os.path.getsize(path) 返回path的大小

import os
print(os.path.getsize(os.getcwd()))  # 返回当前工作目录path(os.getcwd())的大小
print(os.path.getsize(os.path.basename(os.path.join(os.getcwd(),'01.py'))))  # 返回path(os.path.join(os.getcwd(),'01.py')中文件os.path.basename(path)的大小这个path不能只用os.getcwd() 得用os.path.join(path1,path2)拼接 才能获得文件01.py

运行结果:
 

 

posted @ 2018-09-14 17:06  写的BUG代码少  阅读(171)  评论(0编辑  收藏  举报