文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

01月25日【Python3 基础知识】

2023-01-31 07:58

关注

4.1 读写文件
4.2 文件方法
4.3 python2的乱码问题
4.4 python对passwd文件进行排序

4.1 读写文件

访问 模式 说 明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
# 读写文件
if __name__ == '__main__':
    fileName = input("输入文件名:")
    f = open(fileName, 'w', encoding="utf-8")
    while 1:
        context = input("context('EOF' will close)")
        if context == 'EOF':
            f.close()
            break
        else:
            f.write(context)
            f.write("\n")
    fRead = open(fileName, encoding="utf-8")
    readContext = fRead.read()
    print("############O###################")
    print(readContext)
    print("############X###################")
    fRead.close()

4.2 文件方法

# G:\PYTHON_Pro\NO_1\Basics\file03\1.txt
ENCODING = "utf-8"
f = open("1.txt", encoding = ENCODING)
# name; 打印文件名
print(f.name)
print("2############")
# readline(); 按行读取
print(f.readline())
print(f.readline())
# readlines(); 以列表方式返回读取内容
print("3############")
print(f.readlines())
# close(); 直接打开文件需要关闭文件
f.close()
# with;这个方式打开文件会自动关闭。read();读取文件所有内容
print("4############")
with open ("1.txt", "r", encoding = ENCODING) as f:
    print(f.read())

4.3 python2的乱码问题

python转码的过程

源码编码 -> unicode编码 -> 目的编码

方法一

s.decode("utf-8").encode("gbk")

方法二
  • import sys
  • reload(sys)
  • print(sys.getdefaultencoding())
  • sys.setdefaultencoding("utf-8")
  • print(sys.getdefaultencoding())

4.4 python对passwd文件进行排序

import codecs
file = ("ps.txt")
sortFile = "sortps.txt"
fileContext = []
sortUid = []
with codecs.open(sortFile, "w") as fsort:
    with codecs.open(file, encoding="utf-8") as f:
        fileContext += f.readlines()
        for line in fileContext:
            sortUid.append(int(line.split(":")[2]))
        sortUid.sort()
        for uid in sortUid:
            for line in fileContext:
                if str(uid) == line.split(":")[2]:
                    print(line.strip("\n"))
                    fsort.write(line.strip("\n"))
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯