专栏首页python301月25日【Python3 基础知识】

01月25日【Python3 基础知识】

01月25日【Python3 基础知识】

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"))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 收集3:所有文件格式

    A 对象代码库文件 AAM Authorware shocked文件 AAS Authorware shocked包 ABF Adobe二进制屏幕字体 ...

    py3study
  • Python 之文件读写操作

            使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:

    py3study
  • Python3之文件操作file

    - 默认是’rt’ - ‘w+b’ 可以实现二进制随机读写,当文件打开时,文件内容被清空 - ‘r+b’ 以二进制读和更新模式打开文件,打开文件时不...

    py3study
  • C语言的学习

     r  只读  rb只读  r+ rb+(不带b的为已存在的文本文件,带b的为二进制文件(binary),带+号的为读写文件)

    LhWorld哥陪你聊算法
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • 《linux c编程指南》学习手记4

    7.1 文件系统简介 7.1.1 文件 文件类型:普通文件、目录文件、链接文件、设备文件、管道文件 文件权限:r w x 访问权限:文件所有者、文件所有者同组用...

    用户1154259
  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • 操作系统入门(六)文件管理

    -文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识 -文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统

    看、未来
  • 如何学python 第十九课 文件操作

    今天我们来说说文件操作。文件操作在程序编写里有着举足轻重的作用。文件操作,主要包含文件的输入和输出。学会了文件操作,就可以写出更符合实际需求的脚本。 我会先介绍...

    用户1631416
  • Python 文件操作

    一份执着✘

扫码关注云+社区

领取腾讯云代金券