zoukankan      html  css  js  c++  java
  • 文件操作

    写文件

    f = open("xxxx.txt",'w')
    f.write("hhh")
    f.close()

    读文件

    f = open("xxxx.txt",'r')
    countent = f.read()
    print(countent)
    f.close()

    复制文件

    #1.获取用户要复制的文件名
    old_file_name = input("请输入要复制的文件名:")
    #2.打开要复制的文件名
    old_file = open(old_file_name,'r')
    #3.新建一个文件
    # name,tail = old_file_name.split('.')
    # new_file_name = name+'[复件]'+"."+tail
    position = old_file_name.rfind(".")
    new_file_name = old_file_name[:position]+"[复件]"+old_file_name[position:]
    new_file = open(new_file_name,'w')
    #4.从旧文件中读取数据并写入到新文件中
    content = old_file.read()
    new_file.write(content)
    old_file.close()
    new_file.close()

    大文件操作

    read(),一次性全读取,文本过大会内存泄露。

    readline(),一次读一行,效率问题。

    readlines(),读取所有行然后把它们作为一个字符串列表返回。

    #1.获取用户要复制的文件名
    old_file_name = input("请输入要复制的文件名:")
    #2.打开要复制的文件名
    old_file = open(old_file_name,'r')
    #3.新建一个文件
    # name,tail = old_file_name.split('.')
    # new_file_name = name+'[复件]'+"."+tail
    position = old_file_name.rfind(".")
    new_file_name = old_file_name[:position]+"[复件]"+old_file_name[position:]
    new_file = open(new_file_name,'w')
    #4.从旧文件中读取数据并写入到新文件中
    while True:
        content = old_file.read(1024)
        if len(content)==0:
            break
        new_file.write(content)
    old_file.close()
    new_file.close()

    定位读写

    f = open("test.py")
    f.seek(2,0) #seek(0,2),2为偏移量,0表示文件开头,1为当前位置,2为文件结尾
    content = f.read()
    locate = f.tell() #文件指针的位置
    print(content)
    print(locate)
  • 相关阅读:
    [Java] [Exception]
    [Go back to REDIS]
    [Java] [内存泄露]
    [ZK] [Related Materials]
    [Scala] [Coursera]
    <zk在大型分布式系统中的应用>
    [Java] [Lock] [Synchronized VS ReentrantLock]
    [Data Structure] Tree
    投影矩阵的计算过程
    SQL Server 2012
  • 原文地址:https://www.cnblogs.com/rongpeng/p/12496582.html
Copyright © 2011-2022 走看看