file的基本操作;file的修改
file的基本操作
# Author:nadech
# 文件读写/修改/
#data = open("yesterday",encoding="utf-8").read()
#这里要设置打开模式,默认是读r;
#w的时候会打开文件,把之前文件覆盖;
#a模式,append追加
import sys,time f = open("yesterday","r",encoding="utf-8")#f叫文件句柄,它包含了文件的名称,文件的大小,文件内存的起始位置等 #改变文件句柄的指针位置
print(f.readline())
print(f.tell())
f.seek(0)
print(f.readline())
#编码方式
print(f.encoding)
#操作系统给该文件句柄分配的编号
print(f.fileno())
# flush(),文件在执行写操作时,并不是实时写入到硬盘中的,而是当内存中缓存到一定数量之后写入,但是有些数据要求实时写入就可以用flush()强制写入 data = f.read()
print(data) f.write("\n 我爱北京天安门,\n")
f.write("\n 你是一个大傻逼。") print(f.readline())
print(f.readline()) #readlines只适合读小文件
for line in f.readlines():
print(line.strip()) #只读5行
for index,line in enumerate(f.readlines()):
print("%s:"%(index),line) # 以上读文件的方法都可以忘记,因为上边的效率很低
# 这个方法是读入内存中一行,执行一行,而不是所有的都读到内存中
# 但是这个需要自己加一个计数器 count = 0
for line in f:
if count == 9:
print("——————我是分割线——————")
count+=1 print(line.strip())
count+=1
for i in range(20):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.2)
#truncate(),截断,里边的数字是从头剩下的字符数
f.truncate() #读写,可以读,可以写,写在后边
f1 = open("yesterday2","r+",encoding="utf-8") print(f1.readline())
print(f1.readline())
print(f1.readline()) f1.write("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
f1.write("gkukhkhkhkhkh")
#写读 w+
#追加读 a+,这两个模式不怎么使用 #rb,用来读二进制文件,但是并不是看到的01010101,是文件按照二进制处理(网络传输ftp,socket;视频文件,音频文件)
# f = open("yesterday","rb")
#wb,二进制的写 #with语句 #with open("yesterday","r",encoding="utf-8") as f:
#同时打开多个文件0
# with open("yesterday","r",encoding="utf-8"),\
# open("yesterday","r",encoding="utf-8")
file的修改并不是直接在源文件中进行修改,而是新建文件,将要修改的内容修改掉
# Author:nadech
f = open("yesterday","r",encoding="utf-8")
f_new = open("yesterday_back","w",encoding="utf-8")
for line in f:
if "令我笑容满面" in line:
line = line.replace("令我笑容满面","令nadech笑容满面")
f_new.write(line)
file的基本操作;file的修改的更多相关文章
- Java File类基本操作
我们可以利用Java.io.File类对文件进行操作,基本操作如下: 1)创建文件: public boolean createNewFile() throws IOException 2)删除文件: ...
- 01.File文件基本操作
1-创建File对象 /** * 创建我们 java.io.File对象 */ public static void test1() { //第一创建对象方式 File parent=new File ...
- File 的基本操作
package xinhuiji_day07; import java.io.File;import java.io.IOException; public class FileTest { /** ...
- linux 缺少动态连接库.so--cannot open shared object file: No such file or directory
error while loading shared libraries的解決方法 执行行程式時,如此遇到像下列這種錯誤: ./tests: error while loading shared l ...
- 【Android】error opening trace file: No such file or directory (2)
1.问题描述: 运行报错: 12-25 13:35:32.286: E/Trace(1202): error opening trace file: No such file or directory ...
- 关于ImportError: libssl.so.10: cannot open shared object file: No such file or directory unable to load app 0 (mountpoint='') (callable not found or import error)
一.问题描述 在亚马逊云服务器使用Nginx+uwsgi部署django项目时,项目可以使用python manage.py runserver正常运行,uwsgi测试也没问题,Nginx也正常启动, ...
- this inspection reports usage of the default file template for file header
使用idea创建一个java class的时候会出现如下的warning: this inspection reports usage of the default file template for ...
- nginx排错error while loading shared libraries:libpcre.so.1:cannot open shared object file:No such file or directory
启动nginx报错:error while loading shared libraries:libpcre.so.1:cannot open shared object file:No such f ...
- centos6.9安装xampp后报错:egrep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
1.centos6.9安装xampp(xampp-linux-x64-7.0.21-0-installer.run)后启动的时候,报错: egrep: error while loading shar ...
随机推荐
- tk mybatis通用mapper,复杂and or条件查询
需求:where查询,需要支持(a or b or c) and d 也就是a.b.c三个条件是或的关系,然后再与d相与. 尝试后,可以通过以下方式处理: 方式1:Weekend语法 Weekend& ...
- Mysql中autocommit的用法
定义 Mysql文档原文:SET autocommit disables or enables the default autocommit mode for the current session. ...
- java设计模式—— 工厂模式
菜鸡互啄... 工厂模式通过定义一个创建对象的接口,让其子类决定实例化哪个工厂类.因此我们要解决接口选择的问题,实现不同的计划创建不同的对象. 首先我们定义一个轿车接口 public interfac ...
- requests-证书验证
import requests #response = requests.get('https://www.12306.cn') #print(response.status_code) #以上会显示 ...
- Delphi X10.2 + FireDAC 使用 SQL 语句 INSERT
// CREATE TABLE [tabusers]( // [id] INTEGER PRIMARY KEY AUTOINCREMENT, // [username] CHAR NOT NULL, ...
- SpringBoot: 配置加载顺序
在应用程序中各种配置是不可避免的,Spring中对配置的抽象(Environment)可以说是达到了极致,其中有一项尤为突出:PropertySource(配置来源),配置来源通常包括命令行参数,系统 ...
- 通过TCP实现显示屏截图请求及回传
在很多业务场景下,需要监视显示屏画面.在实时性要求不高的情况下,可以通过定时对显示屏进行截图及回传实现. 本文通过C#中提供的TCP通信功能,对该功能的实现进行简单描述. 首先,该功能的实现分为客户端 ...
- 在容器中运行 Jenkins pipeline 任务
持续集成中的 pipeline 技术和 docker 都是当前正在发展的主流方向,当然把它们结合起来在 CI/CD 过程中发挥出更强大的威力也是大家共同的目标.本文将介绍如何在 Jenkins pip ...
- Java基础知识回顾之三 ----- 封装、继承和多态
前言 在上一篇中回顾了java的修饰符和String类,这篇就来回顾下Java的三大特性:封装.继承.多态. 封装 什么是封装 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部份包装 ...
- JavaScript的作用;JS常见的三种对话框;==和===的区别;函数内部参数数组arguments在函数内部打印实参;JS的误区:没有块级作用域
JS:客户端(浏览器)脚本语言 弱类型 基于原型 事件驱动 不需要编译(直接运行) JS的作用:表单验证,减轻服务端的压力 添加页面动画效果 动态更改页面内容 Ajax网络请求 (一)常见的对 ...