20180209-os模块

Posted 土耳其大骗子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20180209-os模块相关的知识,希望对你有一定的参考价值。

下面将学习关于os模块的相关操作

  项目练习的目录结构如下:所有的操作都是基于os_exercise.py模块

  

  1.获取当前的Python脚本的工作目录路径 os.getcwd()

# 1.获取当前目录
dir = os.getcwd()
print(\'获取当前python脚本工作目录:\',dir)
# 输出
# 获取当前python脚本工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

  2.获取指定目录下的所有文件和目录,os.listdir(dirname)  如果不传dirname,则返回当前python脚本的工作目录下的文件和目录名

# 2.返回执行目录下所有的文件和目录
li = os.listdir()
print(\'获取当前python工作目录下的文件名名和目录名,\',li)
# 输出
# 获取当前python工作目录下的文件名名和目录名, [\'os_exercise.py\']

li = os.listdir(\'../packages\')
print(\'获取packages目录下所有的文件名和目录名:\',li)
# 输出
# 获取packages目录下所有的文件名和目录名: [\'.DS_Store\', \'my_proj\']

  3.删除文件,os.remove(filename)

# 3.删除一个文件 注意:这里只能删除文件,不能删除目录
os.remove(\'os_exercise02.py\')
#如果文件不存在则报错
os.remove(\'os_exercise02.py\')

Traceback (most recent call last):=
  File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 25, in <module>
    os.remove(\'os_exercise02.py\')
FileNotFoundError: [Errno 2] No such file or directory: \'os_exercise02.py\'

  4.检测filename是否是个文件,os.path.isfile(filename)

# 4.检测filename是否是一个文件 os.path.isfile(filename)
ret = os.path.isfile(\'os_exercise.py\')
print(\'检测filename是否是一个文件:\',ret)
# 输出
# 检测filename是否是一个文件: True

  5.检测dirname是否是一个目录,os.path.isdir(dirname)

# 5.检测dirname是否是一个目录 os.path.isdir(dirname)
ret = os.path.isdir(\'../os\')
print(\'检测dirname是否是一个目录:\',ret)
# 输出
# 检测dirname是否是一个目录: True

  6.判断filepath是否是一个绝对路径,os.path,isabs(filepath)

# 6.判断filepath是否是绝对路径,os.path.isabs(path)
ret = os.path.isabs(\'os_exercise.py\')
print(\'判断os_exercise.py是否是绝对路径:\',ret)
# 输出
# 判断os_exercise.py是否是绝对路径: False

ret = os.path.isabs(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py\')
print(\'判断filepath是否是绝对路径:\',ret)
# 输出
# 判断path是否是绝对路径: True

  7.判断filepath是否真实存在,os.path.exists(filepath)

# 7.判断filepath是否真实存在 os.path.exists(filepath)
ret = os.path.exists(\'os_exercise.py\')
print(\'判断os_exercise.py是否真实存在:\',ret)
# 输出
# 判断os_exercise.py是否真实存在: True

ret = os.path.exists(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os\')
print(\'判断os目录是否真实存在:\',ret)
# 输出
# 判断os目录是否真实存在: True

ret = os.path.exists(\'../os\')
print(\'判断os目录是否真实存在:\',ret)
# 输出
# 判断os目录是否真实存在: True

   8.获取filepath的目录名和文件名,os.path.split(filepath)

# 8.获取filepath的目录名和文件名 os.path.split(filepath)
ret = os.path.split(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py\')
print(\'获取filepath的目录名和文件名:\',ret)
# 输出
# 取filepath的目录名和文件名: (\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os\', \'os_exercise.py\')

  9.分离filepath的扩展名,os.path.splitext(filepath)

# 9.分离filepath的扩展名 os.path.splitext(filepath)
ret = os.path.splitext(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py\')
print(\'分离filepath的扩展名:\',ret)
# 输出
# 分离filepath的扩展名: (\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise\', \'.py\')

  10.获取filepath的路径名 os.path.dirname(filepath)

# 10.获取filepath的路径名 os.path.dirname(filepath)
ret = os.path.dirname(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py\')
print(\'获取filepath的路径名:\',ret)
# 输出
# 获取filepath的路径名: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os

  11.获取fielname的绝对路径 os.path.abspath(filename)

# 11.获取filename的绝对路径 os.path.abspath(filename)
ret = os.path.abspath(\'os_exercise.py\')
print(\'获取os_exercise.py的绝对路径\',ret)
# 输出
# 获取os_exercise.py的绝对路径 /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py

  12.获取filepath的文件名 os.path.basename(filepath)

# 12.获取filepath的文件名 os.path.basename(filepath)
ret = os.path.basename(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py\')
print(\'获取filepath的文件名:\',ret)
# 输出
# 获取filepath的文件名: os_exercise.py

  13.运行shell命令 os.system(shell),由于终端每执行shell命令都会有一个状态

# 13.执行shell脚本 os.system(shell)
ret = os.system(\'ls\')
print(\'执行shell脚本 ls命令:\',ret)
# 输出
# os_exercise.py
# 执行shell脚本 ls命令: 0

  14.获取当前平台使用的行终止符 os.linesep    windows使用\'\\r\\n\',linux and Mac 使用\'\\n\'

    

  15.获取你当前正在使用的平台名称 os.name 对于windows则是\'nt\',而对于linux/Mac则是\'posix\'

# 15.获取你正在使用的平台名称  对于windows则是\'nt\',而对于linux/Mac则是\'posix\'
ret = os.name
print(\'获取你正在使用的平台名称:\',ret)
# 输出
# 获取你正在使用的平台名称: posix

  16.文件/目录重命名 os.rename(old,new)   注意:如果旧文件/目录不存在,则报错

#16.重命名文件/目录 如果旧文件/目录不存在,则报错
ret = os.rename(\'os_exercise01.py\',\'os_exercise02.py\')
ret = os.rename(\'os_exercise\',\'os_exercise02\')

  17.创建多级目录 os.makedirs(dirname) 注意:如果目录已存在则会报错,并且这里只能创建目录

#17.创建多级目录 os.makedirs(dirname) 注意:这里只是创建目录,不会创建文件,如果目录已存在,则会报错
ret = os.makedirs(r\'dir/makedir/simple\')
ret = os.makedirs(r\'dir/makedir/simple\')
Traceback (most recent call last):
  File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 128, in <module>
    ret = os.makedirs(r\'dir/makedir/simple\')
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: \'dir/makedir/simple

  18.创建单个目录dirname  os.mkdir(dirname)    用法同上,这里不在赘述 

  19.获取文件属性 os.stat(filepath),常用就是获取文件大小

# 19.获取文件属性 os.stat(filepath)
ret = os.stat(\'os_exercise.py\')
print(\'获取文件属性 ret = \',ret)
# 输出
# 获取文件属性 ret =  os.stat_result(st_mode=33188, st_ino=8602852833, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=6434, st_atime=1518146428, st_mtime=1518146428, st_ctime=1518146428)

  20.获取文件大小  os.path.getsize(filename)

# 20.获取文件大小 os.path.getsize(filename)
ret = os.path.getsize(\'os_exercise.py\')
print(\'获取文件大小: \',ret)
# 输出
# 获取文件大小:  6675

  21.结合目录和文件名 os.path.join(dirname,filename)

# 21.结合目录名和文件名 os.path.join(dirname,filename)
ret = os.path.join(\'/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/\',\'os_exercise01.py\')
print(\'结合文件名和目录名: ret = \',ret)
# 输出
# 结合文件名和目录名: ret =  /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise01.py

  22.改变工作目录到dirname   os.chdir(dirname)

# 获取当前的工作目录
ret = os.getcwd()
print(\'获取当前的工作目录:\',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os


ret = os.chdir(\'../module\')
print(\'改变工作目录到dirname:\',ret)

# 获取当前的工作目录
ret = os.getcwd()
print(\'获取当前的工作目录:\',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/module

 

 

 

 

  

以上是关于20180209-os模块的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地将 C 代码片段编译到我的 Perl 模块?

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

argparse 代码片段只打印部分日志

nodejs常用代码片段

常用python日期日志获取内容循环的代码片段