# Auther: Aaron Fan

'''
打开文件的模式有三种:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;因为会清空原有文件的内容,一定要慎用】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
注意最后要记得关闭文件:f.close()
python只能将字符串写入到文本文件。要将数值数据存储到文本本件中,必须先试用函数str()将其转换为字符串格式。
#r模式(只读模式)
f = open('yesterday',encoding='utf-8')
data = f.read()
f.close()
print(data)
#只读文件的前5行:
f = open('yesterday','r',encoding='utf-8')
for i in range(5):
print(f.readline())
#以列表的方式读取这个文件
f = open('yesterday','r',encoding='utf-8')
for line in f.readlines():
print(line)
#对文件的第3行,做一个特殊的打印(这种方式比较低效,因为它会先把文件全部读取到内存中,文件较大时会很影响性能)
f = open('yesterday','r',encoding='utf-8')
for index,line in enumerate(f.readlines()):
if index == 2:
print('-----测试线----',line)
continue
print(line)
#比较高效的,逐行读取文件内容,因为它是一行一行的去读取文件,不会先把文件一次性全部读取到内存中
f = open('yesterday','r',encoding='utf-8')
for line in f:
print(line)
#比较高效的,对文件的3三行进行过特殊打印
f = open('yesterday','r',encoding='utf-8')
count = 0
for line in f:
if count == 2:
print('------测试线----:',line)
count += 1
print(line) #w模式(如果没有就创建文件,如果有就清空文件,一定要慎用)
f = open('yesterday','w',encoding='utf-8')
f.write("这就是一行测试\n")
f.write("测试2\n")
f.write("测试3") #a模式(追加模式,如果没有就创建文件,如果有就把内容追加进去)
f = open('yesterday','a',encoding='utf-8')
f.write("test1\n") #文件光标的操作
f = open('yesterday','r',encoding='utf-8')
#获得文件的光标
print(f.tell())
print(f.readline())
print(f.tell())
#回到最开始的位置(也可以指定一个位置,前提是你得知道你去往的字符具体在哪个位置才行)
f.seek(0) #显示文件的编码
print(f.encoding)
#显示文件句柄的编号(我并不确定这个说法是否正确,用到时请仔细去查一下)
print(f.fileno())
#测试是否是一个终端设备文件
print(f.isatty())
#把缓存的内容刷新到硬盘(进度条那个脚本里有写一个示例)
f.flush()
#指定文件从哪里开始截断,如果没有参数,默认从0开始等于清空了这个文件
#f.truncate() #r+ 模式(读,追加模式)
f = open('yesterday','r+',encoding='utf-8')
data = f.read()
print(data)
f.write("test...\n") #还有 w+写读模式, a+追加读模式,这一般不用,真用到了再去了解下吧
#rb 模式,以二进制的方式读取这个文件
#wb 模式,二进制写
''' '''
#with语句(很实用,记得要经常用哟~,在《Python编程从入门到实战》那本书里的文件与异常那一章有详细用法)
#为了避免打开文件后忘记关闭,可以通过管理上下文,即:
with open('log','r') as f: ...
#如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
#在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:
with open('log1') as obj1, open('log2') as obj2:
pass
'''

python3-file文件操作的更多相关文章

  1. python3.7 文件操作

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 文件操作 # r 只读,默认打开方式,当文件不存在时会报错 # ...

  2. [转]python file文件操作--内置对象open

    python file文件操作--内置对象open   说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...

  3. File 文件操作类 大全

    File  文件操作类  大全 许多人都会对文件操作感到很难  我也是  但是一个好的项目中必定会涉及到文件操作的 文件的复制 粘贴  等等等 公司大佬写了 一个文件操作的工具类 感觉还是棒棒的啦   ...

  4. Android的file文件操作详解

    Android的file文件操作详解 android的文件操作要有权限: 判断SD卡是否插入 Environment.getExternalStorageState().equals( android ...

  5. python file文件操作--内置对象open

    说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前工作目录)或者一个绝对路径,当传入路径不存在此文件会报错 ...

  6. 廖雪峰js教程笔记14 file文件操作

    在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单包含<input type="file" ...

  7. 30天C#基础巩固------集合,File(文件操作 ),Encoding处理字符集

    一:泛型    关于泛型我自己也不是很好的理解,但是具体的运用还是可以的,可以这样的理解,我们定义一个数组,但是不知道将来它是保存什么类型的值,很是矛盾,这个时候泛型就出现了,它可以解决这个场景,li ...

  8. 【python3之文件操作】

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

  9. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  10. java File文件操作共用方法整理

    package org.jelly.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

随机推荐

  1. tar 多文件解压压缩

    tar 多文件解压:因为tar -zxvf一次值能解压一个文件,所以用xargs -n1 .先查找 ls *gz | xargs -n1 tar -zxvf .要解压的文件在list中 cat lis ...

  2. 70. Climbing Stairs Add to List

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  3. java-04类和对象课堂练习

    1.请运行并输入以下代码,得到什么结果 public class Test { public static void main(String[] args){ Foo obj1=new Foo(); ...

  4. LeetCode Target Sum

    原题链接在这里:https://leetcode.com/problems/target-sum/description/ 题目: You are given a list of non-negati ...

  5. LeetCode 336. Palindrome Pairs

    原题链接在这里:https://leetcode.com/problems/palindrome-pairs/ 题目: Given a list of unique words, find all p ...

  6. webpack 开发环境

    当项目逐渐变大,webpack 的编译时间会变长,可以通过参数让编译的输出内容带有进度和颜色. $ webpack --progress --colors 如果不想每次修改模块后都重新编译,那么可以启 ...

  7. vmem驱动设备

    vmem是内存多字符设备.包含vfs的open.read.write.ioctl.poll.fasync和release函数,device文件的读写. virtual_mem.c #include & ...

  8. vertex shader must minimally write all four components of POSITION

    Though the POSITION semantic must be written out by the vertex shader, it cannot be read in by the p ...

  9. FastAdmin 中的 formatter flag 分析

    FastAdmin 中的 formatter flag 分析 效果 首先看看效果,这里的文字和颜色可以根据数据改变. 这是系统自带的分类管理. 代码 功能在 \public\assets\js\bac ...

  10. Linux之时间、地点、人物、事件、情节

    时间 date 显示当前时间 time cmd 显示 cmd的运行时间 地点 locate 根据文件名,迅速找到文件.基于系统构建的索引 find 根据各种规则找到文件,更强大,但比较慢 wherei ...