• 文件操作的基本流程


    1、读模式

    f.read()
    f.readable()#这个文件是否可读,返回布尔值;
    f.readline(“读模式”)#读取第一行;
    f.readlines(“读模式”)#读取所有内容 以字符串方式存储在列表内;
    f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是读模式,第三个参数是定义编码
    data = f.read()  #括号里是有参数的,5代表要取5个字符,默认是读取所有。
    print(data)
    f.close() #关闭

    2、写模式

    f.write('写模式')#注意 写之前会清空原文本文件,然后进行写入! 若没有文件则会新创建一个文件进行写入;
    f.write("写模式1 写模式2 写模式3 写模式4 ")#换行写入;
    f.writelines(["写模式1 写模式2 写模式3 写模式4 "])#该模式要传入的数据类型必须是列表;
    f.writable()#这个文件是否可写,返回布尔值;

    f = open('小重山','w',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
    data = f.write('写模式')
    print(data)
    f.close()
    #注意 写之前会清空原文本文件,然后进行写入! 若没有文件则会新创建一个文件进行写入

    f = open('name','w',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
    data = f.write("写模式1 写模式2 写模式3 写模式4 ")
    print(data)
    f.close()
    写模式1
    写模式2
    写模式3
    写模式4
    f.writelines(["写模式1
    写模式2
    写模式3
    写模式4
    "])#该模式要传入的数据类型必须是列表
    f = open('小重山','a',encoding='utf-8') # a 代表 append 追加 不会清空原文件
    data = f.write('写模式')
    print(data)
    f.close()

    3、# r+ , w+ , a+模式

    with:

    同时管理多个文件对象

    1 with open('log1','r') as f_read, open('log2','w') as f_write:
    2     for lien in f_read:
    3         f_write.write(lien)

    具体的操作方法:

    1、f.readline()  #读取第一行

    
    
    f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
    data = f.readline()
    print(data)
    f.close()

    2、data = f.readliens()  # 读取所有内容 以字符串方式存储在列表内

    f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
    #data = f.readline()
    data = f.readlines()
    print(data)
    f.close()
    [
    '写模式哈哈写模式 ', '哈哈 ', '发的 ']

    3、readable()#这个文件是否可读,返回布尔值;

    f=open("name","r",encoding="utf-8")
    print(f.readable())
    f.close()
    
    True
    

    循环 f.readliens() 取出的列表,并指定第二行添加字符串'oooo' 
    (不常用) 若文件较大,占内存

    f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
    data = f.readlines()
    number = 0
    for i in data:
        number += 1
        if number == 2:
            i = ''.join([i.strip() , 'oooo'])
        print(i.strip())
    f.close()
    
    写模式哈哈写模式
    哈哈oooo
    发的

     常用方法:

     1 f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
     2 number = 0
     3 for i in f:   #这里for内部将f做成一个迭代器,用一行取一行,用完清空,不占内存
     4     number += 1
     5     if number == 2:
     6         i = ''.join([i.strip() , 'oooo'])
     7     print(i.strip())
     8 f.close()
     9 
    10 
    11 print(f.tell(3))  #打印光标的位置 对于英文字符就占一个,中文字符占3个;
    12 
    13 print(f.seek(3))  #调整光标位置的
    14 
    15 
    16 f.flush() #把缓存里的数据更新到磁盘上(防止程序崩溃数据丢失)
    17 
    18 
    19 >>> f = open('hello','w')
    20 >>> f.write('alex is 35 ')11
    21 >>> f.write('hello world')11
    22 >>> f.flush() 
    23 alex is 35 hello world
    24 
    25 #进度条效果展示
    26 
    27 import sys,time
    28 
    29 for i in range(30):  #第一种方法
    30     sys.stdout.write('=')
    31     sys.stdout.flush()
    32     time.sleep(0.1)
    33 
    34 
    35 for i in range(30):  #第二种方法
    36     print('=',end='',flush=True)
    37     time.sleep(0.1)
    f.truncate()# 截取字符

    f = open('小重山','a',encoding='utf-8')
    f.write('asfzxc')
    f.truncate(5)
     
  • 相关阅读:
    jquery easyui 推荐博客 (MVC+EF+EasyUI+Bootstrap)
    添加主键
    SSAS IIS 发布
    NLB
    实现验证码图像文字的识别(C#调用DLL)
    c#中高效的excel导入sqlserver的方法
    C# 控件的缩写
    c#3.0提供的扩展方法
    菜鸟谈谈C#中的构造函数和析构函数
    C#对注册表的操作
  • 原文地址:https://www.cnblogs.com/songzhixue/p/9120306.html
Copyright © 2020-2023  润新知