文件操作

摘要:
python的文件操作1.文件操作的函数open(文件名(路径),mode="?",encoding="字符集")2.模式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b文件路径:1.绝对路径,从磁盘的根目录寻找或者从互联网上寻找一个路径2.相对路径(用的多).相对于当前程序所在的文件夹../上一层文件夹r读f=opens=f.read()printf.close()#如果没有这句话,你在下面的程序中如果删除这个文件.就会报错f=opens=f.read()printf.close()f=openwhile1:s=f.readline().strip()#一次读一行ifs!

python的文件操作

1. 文件操作的函数
open(文件名(路径), mode="?", encoding="字符集")
2. 模式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b

文件路径:

1. 绝对路径,从磁盘的根目录寻找 或者 从互联网上寻找一个路径
2. 相对路径(用的多). 相对于当前程序所在的文件夹 ../上一层文件夹
r 读
f = open("哈哈哈哈哈", mode="r", encoding="UTF-8")
s =f.read()
print(s)
f.close() #如果没有这句话, 你在下面的程序中如果删除这个文件. 就会报错
f = open("e:/abc/里皮.txt", mode="r", encoding="gbk")
s =f.read()
print(s)
f.close()

f = open("呵呵呵", mode="r", encoding="utf-8")
while 1:
    s = f.readline().strip() #一次读一行
    if s!= "":
        print("内容是",s)
for line in f: #文件是一个可迭代对象 print(line.strip()) #一行一行的处理数据 lst =f.readlines() print(lst) f.close()
# w 写
# 带w的. 只要你操作了. 就会清空源文件
# 如果文件不存在. 会自动创建文件
f = open('沁园春.雪.txt', mode='w', encoding='utf-8')
f.write('数风流人物
')   #换行
f.write('还看今朝')
f.flush()   #刷新
f.close()   #养成好习惯关掉文件

a 模式 追加

f = open('沁园春.雪.txt', mode='a', encoding='utf-8')
f.write('数风流人物
')  #写的时候. 换行需要手动控制   

f.write('还看今朝')
f.flush()
f.close()

rb, wb, ab; bytes如果处理的是非文本文件, # mode里如果有b. encoding就不能给了
f = open("c:/pdd.jpg", mode="rb") #这里不能写encoding
e = open("e:/pdd.jpg", mode="wb")
for line in f: #从c盘读取 line你是不知道读取了多少数据的
    e.write(line)   #写入到e盘
f.close()
e.flush()
e.close()
不论你读取了多少内容.光标在哪儿,写入的时候都是在结尾写入, 除非上来就写入, 这时写入是在开头
最好用的读写同时存在的模式
r+ 读写模式. 先读后写
w+ 写读模式. 先写后读(很少用,因为会清空文件中的内容)
f = open('沁园春.雪.txt', mode='r+', encoding='utf-8')
f.read(3)  #读取三个字符
print(f)
f.write('还看今朝')   #在末尾写
f.flush()
f.close()

a+

f = open("阿西吧", mode="a+", encoding="utf-8")
f.write("我要加入德云社")
f.seek(0)   #  将光标移动到开头
s =f.read()
print(s)
f.flush()
f.close()

3. 常用的操作
1. 光标(seek)*
seek(0) 开头
seek(0,2) 结尾
2. tell() 光标的位置
3. truncate 截断文件

#f = open("阿西吧", mode="r", encoding="utf-8")#for line in f:#print(line.strip())#
#f.seek(0) # 移动到开头#
#for line in f:#print(line.strip())#
#f.close()

#f = open("阿西吧", mode="r", encoding="utf-8")#f.seek(3) # 3byte => 1中文#s = f.read(1) # 读取一个字符#print(f.tell()) # 看光标在哪儿#f.close()

#seek(偏移量, 位置)#seek(0) # 开头#seek(0,2) # 在末尾的偏移量是0 末尾
f = open("啊同类个同同同", mode="w", encoding="utf-8")
f.write("哇哈哈哈哈压缩盖伦")
f.seek(9)
print(f.tell())
#从文件开头截断到光标位置#如果给参数. 从头截断到参数位置
f.truncate(12)
f.close()

4. 修改文件
1. 引入os模块
2. 打开目标文件, r
3. 打开文件副本, w
4. 从r中读取内容进行修改. 写入到副本中
5. 删除源文件
6. 重命名副本

import os
f1 = open("盖伦昨天干嘛去了", mode="r", encoding="utf-8") # 打开目标文件
with open("盖伦昨天又干嘛去了", mode="r", encoding="utf-8") as f1, 
    open("盖伦昨天又干嘛去了_副本", mode="w", encoding="utf-8") as f2:

    for line inf1:
        line = line.replace("盖伦", "sb")
        f2.write(line)


os.remove("盖伦昨天又干嘛去了")   # 删除文件
os.rename("盖伦昨天又干嘛去了_副本","盖伦昨天又干嘛去了")  #  副本重命名

文件操作示例:

with open("2017-08-06.log", mode="r", encoding="utf-8") as f:
    first = f.readline().strip().split(",")
    for line inf:
        dic = {} #每一行一个字典
        ls = line.strip().split(",")
        for i inrange(len(first)):
            dic[first[i]] =ls[i]

        lst.append(dic)

print(lst)

免责声明:文章转载自《文件操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇图片中文水印在Linux机器下无法显示(转)Linux下部署tomcat及tomcat war包应用程序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

libusb函数

一、libusb常用数据结构 libusb_device *list:设备列表 libusb_device_handle *handle:设备句柄 struct libusb_device_descriptor desc:设备描述符 struct libusb_config_descriptor conf:配置描述符 二、libusb常用API函数 1...

open与fopen 文件描述符与文件指针

首先说一下文件描述符与文件指针区别: 文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。 文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为...

第四季-专题10-字符设备驱动模型

专题10-字符设备驱动模型 第1课-使用字符驱动程序 编译/安装驱动 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 例子:字符设备驱动程序 编写makefile文件:        obj-m := memdev.o KDIR := /home/S5-driver/les...

PHP 配置文件中open_basedir选项作用

如下是php.ini中的原文说明以及默认配置: ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory or ; pe...

Python的open函数

打开一个文件并向其写入内容 Python的open方法用来打开一个文件。第一个參数是文件的位置和文件名称。第二个參数是读写模式。这里我们採用w模式,也就是写模式。在这样的模式下,文件原有的内容将会被删除。 #to write testFile = open('cainiao.txt','w') #error testFile.write(u'菜鸟写P...

nginx+tomcat负载均衡搭建

一、      单独部署tomcat和nginx Nginx版本:nginx-1.13.5 Tomcat版本:apache-tomcat-8.5.8 操作系统:win10 必须先部署一个tomcat服务器。Tomcat服务器部署好后,登录tomcat服务器:localhost:8080 显示如下界面,说明部署成功。关于tomcat的部署就不详细介绍了。  ...