python-文件操作及os模块常用函数

一、文件操作

1.open(file,op):打开指定文件file,若文件不存在则创建。其中file为文件名,file的路径默认为程序所在的位置,也可指定file的路径。

  op"模式":

                     (1)“r”或无:若省略参数op,则 只读模式 ,若文件不存在则会报错,写文件操作也会报错;

      (2)“w”:打开并可写文件模式。若文件已存在,则以前的内容将被清除。

      (3)“a”:向文件中追加文本。a模式不会把原来内容清空,而是光标移到内容最后位置,继续写入新内容。

2.文件操作函数:

              (1)write(astring):向文件中写内容,写入的内容不会自动换行,但可使用换行符“\n”。如:a.write("one line"),此时文件test.txt中出现内容“one line”。

    (2)close():关闭文件对象。对一个文件的操作结束是调用。如:a.close()。

    (3)readline():从文本中读取一行文本,该函数返回一行的文本字符串,包括换行符“\n”。第一次使用返回文件的第一行文本,第二次返回第二行文本,依此类推。

             使用循环可遍历文件中的每一行文本。 

    (4)read():从文件读取指定的字节数,如果未给定或为负则读取所有。(即使用read()之前没有使用readline())。

    (5)readlines():读取所有行并返回列表,  遍历返回的列表即可得到每一行的内容。

               (6)file.writelines(sequence) :向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。


二、os模块常用函数:文件路径相关(使用前要导入os模块:import os)
1、os.path:与路径有关的模块,包含了路径操作相关的函数。由于路径也是一个字符串,因此,操作路径和操作字符串是一样的。


 1)os.path.isfile(filepath):检查路径是不是指向一个文件(注:不是指文件夹)。返回TRUE or FALSE。


2)os.path.join(dir1,dir2):将目录名组合成路径。如:os.path.join("d","test") ->d\test.(不同系统下输出不完全一致)


 3)os.path.split(filepath):将路径filepath的最后一个组件(即目录名或文件名)提取出来。                       #—>修改、组合文件路径:os.path.join(path ,' .jpg ')

                                              该函数返回包含两个项的元组(或两个值):(最后一个组件的)父目录路径和最后一个组件。

                                              如:os.path.split("c:\\python\\test")->("c:\\python","test")。


              注:利用此函数可以用递归的方法将一个路径完全分解为目录名:
          def split_fully(path):
            parent,name = os.path.split(path)
            if name == “”: #当一个路径不能再被分解时,第二个值就会返回空字符串
              return (parent,) #返回一个元组
            else
              return split_fully(parent) +(name,)
          调用:split_fully("D:\\a\\b\\c") ->("D:\\","a","b","c")


 4)os.path.splitext(filename):将一个文件的  名称和扩展名 分开(即分离扩展名,从而判断文件类型)。

                                                              如:s = os.path.splitext("test.txt")->s = ("test",".txt"),s[1]->可获得文件扩展名,若s[1]为空字符串,则为文件夹。


2、os.listdir(path):返回一个目录下所有名称条目,包括文件和子目录等内容。若目录路径不存在则报WindowsError错误。

      注:1.返回的条目只是一个名称,没有包含路径,可以用os.path.join(path,条目名)得到相应条目的路径。
        2.可对返回的条目进行排序(其实就是列表排序):sorted(os.listdir(path)),默认排序规则:数字->大写字母->小写字母


3、shutil模块常用函数:文件重命名、移动、复制、删除(使用前先导入shutil模块:import shutil)


 1)shutil.move(src,dest):重命名或移动文件(而不是移动目录(即文件夹))。

      注:1)dest所指向的是一个文件,则为重命名;若指向的是一个目录(即文件夹)则为移动文件。

        2)src必须指向一个存在的文件,否则不会报错。重命名后的文件可为任意命名,甚至文件可不带后缀。

                             3)os.rename(src,dest)也具有重命名和移动文件的功能,但不常用。


 2)shutil.copy(src,dest):复制文件。可重新命名新文件。


3)删除文件:os.remove(file)。注:此方法不是shutil模块的方法。


4、目录操作:创建和删除目录(此处的目录可理解为Windows下的文件夹)


 1).os.mkdir(dir):创建目录,要创建的目录的父目录必须存在。

 2).os.makedirs(dir):创建目录,要创建的目录的父目录可不存在。若父目录不存在则创建父目录。<简单粗暴>

 3).os.rmdir(dir):删除目录,仅对空目录有效。若目录中文件则不能删除。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值