python 文件I/O

作者: Jeff_9021 | 来源:发表于2021-10-17 10:11 被阅读0次

    一、文件file

    1、方法涉及到file的创建、打开、写入、读取、关闭

    2、属性包括名称、是否已关闭、模式

    #!/usr/bin/python

    # -*- coding:utf-8 -*-

    #file对象相关方法

    new_file = open("test.txt", a+)

    若打开file必须要close文件,以防忘记close文件,处理如下:

    with open("test.txt", a+) as f:

          print(f.read())

    若读取文件非文本,为二进制文件,如图片,视频等。处理如下:

    open(‘test.txt’, a+, encoding=‘gbk’)

    若存在非法编码,处理如下:

    open(‘test.txt’, a+, encoding=‘gbk’, errors=‘ignore’)

    因read()读的内容为全部,内容太多处理如下:

    多次调用f.read(size)或者f.readline()

    针对常用的读取配置文件,处理如下:

    for line in f.readlines ():

          print(line.strip()) #把末尾的/n删掉

    new_file.write("I am a bride.")

    new_file.read(13)

    new_file.close()

    cat test.txt

    #file对象相关属性

    print "文件名:", new_file.name

    print "是否已关闭:", new_file.closed

    print "访问模式:", new_file.mode

    3、对file进行操作,需要权限,借助os模块

    对file进行重命名、删除操作

    #!/usr/bin/python

    # -*- coding:utf-8 -*-

    import os

    os.rename("test.txt", "test1.txt")

    os.remove("test1.txt")

    二、目录dir

    file文件需要存在于目录下,对目录的操作方法有创建、改变、删除、

    #!/usr/bin/python

    # -*- coding:utf-8 -*-

    import os

    #只针对最后一级目录

    os.mkdir("testSet")

    os.getcwd()

    os.chdir("/home/testSet1")

    os.rmdir("testSet1")

    三、file在目录下

    1、数据写入file中,然后放到指定目录下

    #!/usr/bin/python

    # -*- coding:utf-8 -*-

    import os

    def save_date_to_file(date2, file_path, mode="a+", encoding="utf-8"):

          file_path_dir = os.path.dirname(file_path)

          if not os.path.exists(file_path_dir):

                  #可创建多级目录

                  os.makedirs(file_path_dir)

          try:

                  with open(file_path, mode, encoding=encoding) as f:                                                                                                                                                                       

                        f.write(data2)

                  return True, "保存成功"

            except Exception as e:

                  return False, ‘保存失败:{}’.format(e)

    if __name__=="__main__":

          data2 = '我是新的内容哦!'

          file_path = '/home/testSet1'

          save_data_to_file(data2, file_path, encoding='gbk')

    #直接创建新的目录

    #file_dir = os.path.join("/home/testSet1", "test2.txt")

    相关文章

      网友评论

        本文标题:python 文件I/O

        本文链接:https://www.haomeiwen.com/subject/hjjboltx.html