python模块学习之OS模块

Python os模块提供了访问操作系统服务的功能。

常用函数:

  1. os.sep()
    取代操作系统特定的路径分隔符。
  2. os.getcwd()
    获得当前工作目录,即当前Python脚本工作的目录路径。
  3. os.listdir(path)
    以列表的形式返回指定目录下的所有文件和目录名。
  4. os.mkdir(path,mode)
    在path路径下创建一个目录,并指定文件夹类型。
  5. os.rmdir(path)
    删除path路径对应的目录。
  6. os.chdir(path)
    改变当前目录,到指定目录中。
  7. os.remove(path)
    删除一个文件。
  8. os.rename(“原文件名”, “修改后的文件名”)
    修改文件名。
  9. os.system(command)
    os.system(‘dir’)#可以运行shell命令。
    os.system(‘cmd’) #也可以启动dos。
  10. os.path.split(path)
    函数返回一个路径的目录名和文件名
  11. os.path.isfile()和os.path.isdir()
    分别检验给出的路径是一个文件还是目录。
  12. os.path.exists(path)
    用来检验给出的路径是否真地存在.
  13. os.path.getsize(name)
    获得文件大小,如果name是目录返回0L

使用过程中遇到的问题分析:

关于os操作中遇到中文路径时操作失败的解决方法,以listdir为例:

无法识别中文目录,所以程序运行时会报错:

#-*-coding:utf8-*-
import os

list = os.listdir('G:\Android\MyAndroid\UI设计')  //获得文件目录列表

for each in list:
   print(each.encode('utf-8'))   //将该目录下文件名全部打印出来

解决方法:使用unicode函数,对路径进行编码,然后操作即可。修改代码如下:

#-*-coding:utf8-*-
import os

inpath = 'G:\Android\MyAndroid\UI设计'
uipath = unicode(inpath , "utf-8")  //对路径进行utf-8编码

list = os.listdir(uipath)   //获得文件目录列表

for each in list:   //遍历list列表
   print(each.encode('utf-8'))   //将该目录下文件名全部打印出来

你可能感兴趣的:(python,os模块)