zoukankan      html  css  js  c++  java
  • 文件的操作以及修改当前操作的路径



    第一步:打开文件 f = open('text.txt', 'r',encoding='utf-8')
    第二部:操作文件 content = f.read()
    第三步:关闭文件 f.close

    注意点:(带有b模式的方式都不要指定编码格式)
    r 模式打开不存在文件要报错
    rb 二进制方式读取数据
    w 写入文件要指定编码方式,只用w打开文件会先把源文件数据清空
    wb 以二进制方式写入文件,不需要进行编码
    a 以追加方式写入文件,文件不存在会创建
    ab 以二进制方式追加写入文件,不需要编码

    import os # 操作文件和文件夹的模块
    import shutil # 操作文件和文件夹的高级模块

    # 1. 创建一个空的文件,文件名叫做AA.txt
    # file = open("AA.txt", "wb") # 默认把文件创建到当前工程目录里面
    # file.close()

    # 2. 重命名
    # os.rename("AA1.txt", "aa.txt")

    # 3. 删除指定文件
    # os.remove("aa.txt")

    # 4. 创建空的目录(文件夹)
    # os.mkdir("AAA")
    # 把文件创建到指定目录,加上对应的路径即可
    # file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面
    # file.close()

    # os.remove("AAA/aa.txt")

    # file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面
    # file.close()
    #
    # file = open("AAA/bb.txt", "wb") # 默认把文件创建到当前工程目录里面
    # file.close()

    # 5. 获取指定目录下的所有文件名
    # file_name_list = os.listdir("AAA")
    # print(file_name_list)

    # 6. 获取当前操作目录的路径
    path = os.getcwd()
    print(path)

    # 获取当前目录下的所有文件名
    file_name_list = os.listdir(".")
    print(file_name_list)

    # 7. 切换目录
    # os.chdir("AAA")

    path = os.getcwd()
    print(path)


    # os.mkdir("BBB")

    # 8. 删除空的目录
    # os.rmdir("BBB")

    # 切换到上一级目录
    # os.chdir("..")


    # 扩展:
    # 1. 删除非空目录

    # os.rmdir("AAA")
    # shutil.rmtree("AAA") 文件下面还有文件要用shutil
    # 2. 判断文件是否存在
    result = os.path.exists("1.png")
    print(result)
    result = os.path.exists("AA/777.txt")
    print(result)

    # 3. 判断文件夹是否存在
    result = os.path.exists("AA")
    print(result)

    # 4. 判断是否是一个文件
    result = os.path.isfile("AA/666.txt")
    print(result)
    # 5. 判断是否是一个文件夹
    result = os.path.isdir("AA")
    print(result)

    # 6. 获取指定路径的文件名
    file_name = os.path.basename("A/B/1.txt")
    print(file_name)
    # 7. 获取指定路径的文件夹的路径
    path = os.path.dirname("A/B/1.txt")
    print(path)

    # 8. 可以对文件进行分割,获取文件名和文件的后缀, "1.txt" -> 1 .txt
    file_name, end_str = os.path.splitext("1.txt")
    print(file_name, end_str)


    seek方法(定位光标) 必须以'rb'方式打开
    (三个方式,0是相对文件开头,1是相对上次读取方式,2是相对文件末尾,前面参数必须是负数)

    for i in f:
    offs = -10
    while True:
        f.seek(offs, 2)
        data = f.readlines()
        if  len(data) > 1:
            print('文件的最后一行是:{}'.format(data[-1].decode(utf-8))
            break
        offs * 2
    View Code


    # 1. 根据用户输入的文件名,对文件进行拷贝,拷贝后的名字是在原文件的基础上加上[复件],
    # 比如: 1.txt -> 1[复件].txt
  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/wjun0/p/11515366.html
Copyright © 2011-2022 走看看