import os
1. 当前工作目录
1.1 os.getcwd()函数
每一个运行在计算机上的程序,都有一个'当前目录',或者cwd。所以没有从根文件夹下的文件名或路径,都假定在当前工作目录下。可以利用os.getcwd()函数,可以获取当前工作路径的字符串。(注意:在字符串里,\(反斜杠有特殊含义,所以在字符串中输出反斜杠\需要输入\\))
import os os.getcwd()
1.2 os.chdir()函数
也可以用os.chdir()函数改变当前工作路径。
import os os.getcwd() # 查看当前工作目录 os.chdir('D:\steam\bin') # 更改当前工作目录 os.getcwd() # 查看更改之后的当前工作目录,发现当前工作目录确实已被更改
2. 利用os.makedirs()创建新文件夹
程序可以用os.makedirs()创建新文件夹(目录).
1. import os 2. os.makedirs('e:\\pythonProject\\exercise1')
在这里,os.makedirs()不仅会创建e:\\pythonProject,也会创建exercise1文件夹,总之,os.makedirs()会创建所有必要的中间文件夹,目的是确保完整路径存在。(当然,如果e盘中有pythonProject文件夹,那么os.makedirs()就不会重新在创建该文件夹,而是进入该文件夹内继续创建exercise1文件夹)
3. os.path模块
os.path模块包含了很多与文件名和文件路径有关的有用函数。(使用该模块import os即可)
3.1 利用os.path.join()创建有效路径
os.path.join()可以将输入的各个参数用反斜杠串联起来,形成一个有效路径。
import os os.path.join('wallpaper', 'picture', '高清')
3.2 处理绝对路径和相对路径
3.2.1 绝对路径和相对路径的相关概念
有两种方法指定一个文件路径。
第一种是‘绝对路径’,它总是从根文件夹开始的。
第二种是‘相对路径’,它是相对程序的当前目录。
相对路径中,点(.)和点点(..)文件夹,它们并不是真正的文件夹,而是可以在路径中使用的特殊名称。单个点(.)用作文件夹时,它表示当前工作目录。两个点(..)用作文件夹时,它表示当前工作目录的上一(即父文件夹)。
3.2.2 利用os.path.abspath()创建绝对路径
os.path.abspath(path)返回参数(path)的绝对路径的字符串。这是将相对路径转化为绝对路径的简便方法。
import os os.path.abspath('.') os.path.abspath('..')
3.2.3 利用os.path.isabs()判断是否为绝对路径
如果输入的参数是绝对路径,那么返回True,如果是相对路径,那么返回False。
import os os.path.isabs('c:\\visual') os.path.isabs('.') os.path.isabs(os.path.abspath('.'))
3.2.4 利用os.path.relpath(path, start) 创建从start路径到path路径的相对路径
import os os.path.relpath('C:\\windows', 'c:\\') os.path.relpath('c:\\windows', 'c:\\visual\\visual storage')
3.2.5 利用os.path.dirname(path)返回 参数path中最后一个反斜杠\前的所有内容
import os os.path.dirname('c:\\windows') os.path.dirname('c:\\visual\\visual storage\\作业')
3.2.6 利用os.path.basename(path)返回参数path中最后一个反斜杠\后的所有内容
import os os.path.basename('c:\\windows') os.path.basename('c:\\visual\\visual storage\\作业')
3.2.7 利用os.path.split(path)返回参数path中最后一个反斜杠\前后的所有内容,组成一个列表返回
import os os.path.split('c:\\visual\\visual storage\\作业')
另外,如果需要返回每个文件夹的字符串的列表。那么可以使用字符串的split()去处理,以os.path.sep(它会根据程序所在的计算机来输出是正斜杠(在osx和linux上)还是反斜杠(在windows系统上),当然,如果你清楚你的电脑的路径分隔符是\还是/,那么你直接用这个字符也可,这里是为了让你明白os.path.sep是什么意思即可)作为分隔符
------------------------------------------------字符串的split()复习--------------------------------------------------------
(回顾复习,字符串的split()输入的第一个参数是分隔符,如果没有输入第一个参数,那么以各种空白字符分割(诸如空格、制表 符或换行符)间隔字符串),如果输入了,那么字符串将以该参数作为分隔符进行分隔。
还是举个小李子
'you\nare\nmy\nlove\n'.split()
'hello you are my love !'.split()
-----------------------------------------------字符串的split()复习--------------------------------------------------------
继续前文,如何返回每个文件夹的字符串的列表?
'c:\\visual\\visual storage\\作业'.split('\\')