python中文件读写的相关操作及应用

Posted 铁子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中文件读写的相关操作及应用相关的知识,希望对你有一定的参考价值。

1:既读又写

1 with open(\'数据\',mode=\'r+\',encoding=\'utf-8\') as f:
2     print(f.read())              #输出结果:python与人工智能密切相关
3     f.write(\'java也不错\')
4     print(f.read())              #输出结果:无输出 ,如果我们想打印
5                                  #  写入的内容,但是因为光标已经
6                                  # 移到了字符串的结尾了,所以这里我们
7                                  #可以使用tell()与seek()来确定位置

改进过后:

1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f:
2     print(f.read())  # 输出结果:python与人工智能密切相关
3     f.write(\'java也不错\')
4     print(f.tell())     # 输出结果:46  其中一个字母1个字节,一个汉字三个字节,所以下面-13
5     f.seek(f.tell()-13)
6     print(f.read())  # 输出结果:java也不错
seek()将官光标的位置移到需要的位置,tell()返回当前光标的位置

2:写读(不常用)

1 with open(\'数据\', mode=\'w+\', encoding=\'utf-8\') as f:
2     f.write(\'java也不错\')
3     print(f.read())  # 输出结果:无任何输出,相比w的不同处就在于f.read()不会报错,同样,a+也是如此
4                      #           就不在这里做赘述了

3:readline()用法:每次只读一行

1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f:
2     print(f.readline())  # 输出结果:java也不错
3     print(f.readline())  # 输出结果:python也是个好工具
4     print(f.readline())  # 输出结果:c++也不逊色呦

4:readlines()用法:每一行当作列表中的一个元素,然后打印出来

1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f:
2     print(f.readlines())  # 输出结果:[\'java也不错\\n\', \'python也是个好工具\\n\', \'c++也不逊色呦\']

5:for循环(可以将文件中的所有内容按照原文件格式打印)

1 with open(\'数据\', mode=\'r+\', encoding=\'utf-8\') as f:
2     for line in f:
3         print(line)          #输出结果:java也不错
4                              #          python也是个好工具
5                              #          c++也不逊色呦

6:注册登录的应用

username = input(\'请输入您需要注册的用户名:\')
password = input(\'请输入您的密码:\')
with open(\'list_of_info\',mode=\'w\',encoding=\'utf-8\') as f:
    f.write(\'{}\\n{}\'.format(username,password))
list_data = []
i = 1
while i <= 3:
    usn = input(\'请输入您的用户名:\')
    psd = input(\'请输入您的密码:\')
    with open(\'list_of_info\', mode=\'r+\', encoding=\'utf-8\') as f1:
        for line in f1:
            list_data.append(line)
            # print(list_data)
    if usn == list_data[0].strip() and psd == list_data[1].strip():
        print(\'登录成功\')
        break
    else:
        print(\'请重新登录!\')
    i += 1

 



以上是关于python中文件读写的相关操作及应用的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的文件读写操作详解及示例代码 | 嵌入式Linux应用开发篇 - 01

python读写操作csv及excle文件

Python文件读写

[Python]-10-文件读写(中)

Python练习数据库操作 | 文件读写

Python其实很简单 第十五章 文件操作