#!/usr/bin/env python
__author__ = "lrtao2010" #python3.7 文件操作 # r 只读,默认打开方式,当文件不存在时会报错
# w 只写,当文件不存在时会自动创建文件,文件内容只能是字符串,只能写入字符串
# r+ 可读可写,当文件不存在时会报错
# w+ 可读可写。当文件不存在时会新建
# a 追加文件,不可读
# a+ 追加文件,可读可写
# rb 以二进制读模式打开,只可读
# rb+ 以二进制写读写模式打开,可读可写,当文件不存在时报错
# wb 以位进制写模式打开,只可写
# wb+ 以二进制读写模式打开,可读可写。当文件不存在时新建
# ab 以二进制追加模式打开,追加文件,不可读
# ab+ 以二进制读写模式打开,追加文件。可读可写 # with open("file.txt",'w',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# False
# True
# with open("file.txt",'r',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# True
# False
# with open("file.txt",'r+',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# True
# True
# with open("file.txt",'a',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# False
# True
# with open("file.txt",'a+',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# True
# True # f= open("file1.txt",encoding='utf-8')#不写encoding,默认问操作系统编码
# file_data=f.read() #完全读取
# print(file_data)
# f.close() #需要执行关闭操作
#
#
#
#
#
#
# 你好!
# hello # with open("file.txt",encoding='utf-8')as f:
# file_data=f.read()
# print(file_data) #不需要执行close(),系统会自动关闭。
#
#
#
#
#
#
# 你好!
# hello # with open("file.txt",encoding='utf-8')as f:
# print(f.readable()) #判断是否可读
# print(f.writable()) #判断是否可写
# print(1, f.readline()) #一次只读一行
# print(2, f.readline())
# print(3, f.readline())
# print(4, f.readline())
# print(5, f.readline())
# print(6, f.readline())
# print(7, f.readline())
# print(8, f.readline())
# True
# False
# 1 1111
#
# 2 222
#
# 3 333
#
# 4 44
#
# 5 5555
#
# 6 666
#
# 7 你好!
#
# 8 hello #with open("file.txt",encoding='utf-8')as f:
# print(f.readlines()) #将文件内容读取到列表中
# ['1111\n', '222\n', '333\n', '44\n', '5555\n', '666\n', '你好!\n', 'hello']
# for i in f.readlines():
# print(i)
#
#
#
#
#
#
#
#
#
#
#
#
# 你好!
#
# hello # with open('file.txt','r',encoding='utf-8',newline='') as f:
# # print(f.readlines())
# # ['1111\r\n', '222\r\n', '333\r\n', '44\r\n', '5555\r\n', '666\r\n', '你好!\r\n', 'hello']
# for i in f.readlines():
# print(i,end='') #不打印换行符
#
#
#
#
#
#
# 你好!
# hello # with open('file.txt','w+',encoding='utf-8') as f: #原文件被清空后重新写入
# f.write('a\n')
# f.write('b\nc\n')
# f.writelines(['d\n', 'e\n'])
# f.seek(0) #将指针seek到0位置,否则读不出数据
# print(f.read())
# # a
# # b
# # c
# # d
# # e # with open('file.txt','r+',encoding='utf-8') as f: #从指针位置所在处写入写入
# print(f.readline())
# f.write('a\n')
# f.write('b\nc\n')
# f.writelines(['d\n', 'e\n'])
# f.seek(0) #将指针seek到0位置,否则读不出数据
# print(f.read())
# # 1111
# #
# # 1111
# # 222
# # 333
# # 44
# # 5555
# # 666
# # 你好!
# # helloa
# # b
# # c
# # d
# # e # with open('file.txt','a+',encoding='utf-8') as f:
# f.write('写到文件最后')
# f.seek(0)
# print(f.read())
# # 1111
# # 222
# # 333
# # 44
# # 5555
# # 666
# # 你好!
# # hello写到文件最后 # with open('file.txt','a+',encoding='utf-8') as f:
# print(f.encoding) #查看文件编码
# #utf - 8 # #'字符串'---------encode---------》bytes
# #bytes---------decode---------》'字符串' # with open('file.txt','rb') as f: #b模式不能指定编码
# file_data=f.read()
# print(file_data)
# print(file_data.decode('utf-8'))
# # b'1111\r\n222\r\n333\r\n44\r\n5555\r\n666\r\n\xe4\xbd\xa0\xe5\xa5\xbd!\r\nhello'
# # 1111
# # 222
# # 333
# # 44
# # 5555
# # 666
# # 你好!
# # hello # with open('file.txt','wb+') as f:
# file_data = 'test wb'
# f.write(file_data.encode('utf-8'))
# f.seek(0)
# print(f.read())
# # b'test wb' # flush() 文件内容从内存刷到硬盘
# tell() 查看文件当前光标位置
# seek(3) #从开头开始算,将光标移动到第三个字节
#seek 有三种工作方式,seek(offset[, whence])
#seek(2,0)=seek(2),0是默认方式,相当于从0字节位置开始
#seek(2,1) 1 相对当前位置
#seek(-2,2) 2 从文件末尾开始
# truncate(10) #从开头开始算,将文件只保留从0-10个字节的内容,文件打开方式必须包含"写",
#但是w和w+除外,因为这两种方式会首先把文件清空。
# with open('file.txt','ab') as f:
# f.truncate(1) #打印文件最后一行
# with open("file.txt",'rb') as f:
# for i in f: #这种方式不会读取整个文件,需要从哪里读取才从哪里开始读取,循环文件的推荐方式
# offs=-5 #偏移量,根据一行大小确定
# while True:
# f.seek(offs,2)
# data=f.readlines()
# if len(data) > 1:
# print('这是最后一行:',data[-1].decode('utf-8'))
# break
# offs*=2 # 这是最后一行: hello你好!hello你好!hello你好!hello你好!

python3.7 文件操作的更多相关文章

  1. 【python3之文件操作】

    一.文件操作 1.文件处理的流程 1)打开文件,得到文件句柄并赋值给一个变量 2)通过句柄对文件进行操作 3)关闭文件 例如: f = open('chenli.txt') #打开文件 first_l ...

  2. (17)-Python3之--文件操作

    1.文件的操作流程 第一,建立文件对象. 第二,调用文件方法进行操作. 第三,不要忘了关闭文件.(文件不关闭的情况下,内容会放在缓存,虽然Python会在最后自动把内容读到磁盘,但为了以防万一,要养成 ...

  3. python3的文件操作

    open的原型定义在bultin.py中,是一种内建函数,用于处理文件 open(file, mode='r', buffering=None, encoding=None, errors=None, ...

  4. python3之文件操作

    一   打开文件   根目录在d盘的文件名为‘学习资料.txt’的文件 a)绝对路径(最开始的,根目录文件)例:    e:\学习资料.txt 相对路径   直接用文件名字 b)操作方式  只读  只 ...

  5. python3中文件操作及编码

    #之前一直没明白文件处理中的w和wb的区别到底是什么,#在看过视频后才知道,原来在linux里面是没有区别的,#但是在windows里面就能够看出区别来了#下面来个例子: with open(&quo ...

  6. python3中文件/IO编程

    python3的文件操作可谓是我见过所有语言中最舒服的,那我们来一起看一下py3中的文件操作. 1:文件的打开方式有以下几种: 注:以上图表参考菜鸟教程 2:定位读写文件  f = open(&quo ...

  7. Python3学习之路~2.7 文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the ...

  8. Python3 文件操作(十六)

    一 文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...

  9. Python3.x:open()文件操作

    Python3.x:open()文件操作 open/文件操作: #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 f=ope ...

随机推荐

  1. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) C

    Helen works in Metropolis airport. She is responsible for creating a departure schedule. There are n ...

  2. NET Core应用可以同时运行在Windows Container和Linux Container-1

    NET Core多平台开发体验[1]: Windows 微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后 ...

  3. 健康检查NET Core之跨平台的实时性能监控

    ASP.NET Core之跨平台的实时性能监控(2.健康检查)   前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内 ...

  4. NET Core WordPress

    NET Core 上运行的 WordPress 在.NET Core 上运行的 WordPress,无需安装PHP既可跨平台运行WordPress. 在Peachpie中实现PHP所需的功能数月后,现 ...

  5. Apache Atlas是什么?

    不多说,直接上干货! Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类.集中策略引擎.数据血缘.安全和生命周 ...

  6. 第十六章 提升用户体验 之 设计实现routes

    1. 概述 ASP.NET MVC route 用来把URL映射到方法中的action,是用户和程序之间的桥梁. 本章内容包括:定义route处理URL Pattern.应用route限制.忽略URL ...

  7. 《超实用的Node.js代码段》连载二:正确拼接Buffer

    对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出 ...

  8. git remote add 用法

    前一阵子,对于git remote add 的内容一直调错,现在明确一下: 这里是gitStack的用法:git remote add gitServerName http://ip/name(这里没 ...

  9. 【深度精讲】JFinal中的Ret和Kv工具类的区别,你用对了吗?

    在JFinal中有两个类Map的工具类,一个是有状态的Ret,一个是无状态的Kv,各种自己的应用场景,你用对了吗? 下面我们从多个方面来探究一下,JFinal针对这两个类的设计: 一.位置-com.j ...

  10. SaaS 系统架构设计经验总结

    2B SaaS系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk SaaS系统.很多SaaS创业公司也拿了大额风投.毕竟SaaS相对传统软件的优势非常明显. ...