我的Python日记(小白篇)——关于文件
来源:互联网 发布:java对象序列化的作用 编辑:程序博客网 时间:2024/05/24 07:28
# -*- coding: utf-8 -*-
''' 处理文本文件:打开、处理、关闭三个操作
Python的文件打开模式,默认为“r"(只读) "t"(文本) 另外还有“w” "b"(二进制) "+"(读写) "a"(在末尾附件时)
open(filesname,模式) 默认自动关闭,可以省略 打开命令赋值对象名.close()
'''
#12.01.01逐行读取文本文件
def print_file(fname):
f=open(fname,'r')
for line in f:
print (line,end='')
f.close()#代码可有可无,默认自行关闭
print_file(r'C:\Users\Administrator\Desktop\python\1笔记.txt')#应该用r''将反斜杠转移为普通字符,此项为文件路径及文件名
#12.01.02将整个文本读取为一个字符串
def print_all_a_row(fname):
f=open(fname,'r')
print(f.read())
f.close()
#以上代码的简化版 print(open(fname,'r').read())
'''w模式会删除已有文件,需要先验证是否已经存在同名的文件。一般在文件尾部添加字符串时,用a
'''
#12.01.03对文件的写入操作(避免误删版)
import os
def write_in(fname,hello):
if os.path.isfile(fname):
print("the text already exist")
else:
f=open(fname,'w')
f.write(hello)
write_in('jayjayjay.txt','66666666')
f1=open('jayjayjay.txt','r')
print(f1.read())
print(os.path.abspath('jayjayjay.txt'))#获取文件的绝对路径
#附加到文件末尾
def add_in_end(line,fname):
f=open(fname,'a')
f.write(line)
add_in_end('jay','jayjayjay.txt')
f1=open('jayjayjay.txt','r')
print(f1.read())
#将字符串添加到文本开头
'''
python 没有直接在开头添加字符串的命令,只能读取、添加(即字符串的拼接)、写入
'''
def add_in_front(fname,title):
f=open(fname,'r+')
temp=f.read()
temp=title+'\n\n'+temp
f.seek(0) #让文件指针重新指向文件开头
f.write(temp) #f.write(要写入的字符串或者变量值)
add_in_front('jayjayjay.txt','666666')
f1=open('jayjayjay.txt','r')
print(f1.read())
'''如果文件不是文本文件被视为二进制文件,可以访问其各个字节
ps:所有的gif图像都是由(0x47 0x49 0x46 0x38)这四个字节打头
'''
#读取gif文件的前四个字节
def is_gif(fname,n):
f=open(fname,'br')
first=list(f.read(4))
return first
first4=is_gif(r'C:\Users\Administrator\Desktop\6d560794b3f73f81f459d3e1765fd206.gif',4)
print(first4)
a=map(lambda x:int(x,16),first4)#map(option,对象)
print(a)
''' 处理文本文件:打开、处理、关闭三个操作
Python的文件打开模式,默认为“r"(只读) "t"(文本) 另外还有“w” "b"(二进制) "+"(读写) "a"(在末尾附件时)
open(filesname,模式) 默认自动关闭,可以省略 打开命令赋值对象名.close()
'''
#12.01.01逐行读取文本文件
def print_file(fname):
f=open(fname,'r')
for line in f:
print (line,end='')
f.close()#代码可有可无,默认自行关闭
print_file(r'C:\Users\Administrator\Desktop\python\1笔记.txt')#应该用r''将反斜杠转移为普通字符,此项为文件路径及文件名
#12.01.02将整个文本读取为一个字符串
def print_all_a_row(fname):
f=open(fname,'r')
print(f.read())
f.close()
#以上代码的简化版 print(open(fname,'r').read())
'''w模式会删除已有文件,需要先验证是否已经存在同名的文件。一般在文件尾部添加字符串时,用a
'''
#12.01.03对文件的写入操作(避免误删版)
import os
def write_in(fname,hello):
if os.path.isfile(fname):
print("the text already exist")
else:
f=open(fname,'w')
f.write(hello)
write_in('jayjayjay.txt','66666666')
f1=open('jayjayjay.txt','r')
print(f1.read())
print(os.path.abspath('jayjayjay.txt'))#获取文件的绝对路径
#附加到文件末尾
def add_in_end(line,fname):
f=open(fname,'a')
f.write(line)
add_in_end('jay','jayjayjay.txt')
f1=open('jayjayjay.txt','r')
print(f1.read())
#将字符串添加到文本开头
'''
python 没有直接在开头添加字符串的命令,只能读取、添加(即字符串的拼接)、写入
'''
def add_in_front(fname,title):
f=open(fname,'r+')
temp=f.read()
temp=title+'\n\n'+temp
f.seek(0) #让文件指针重新指向文件开头
f.write(temp) #f.write(要写入的字符串或者变量值)
add_in_front('jayjayjay.txt','666666')
f1=open('jayjayjay.txt','r')
print(f1.read())
'''如果文件不是文本文件被视为二进制文件,可以访问其各个字节
ps:所有的gif图像都是由(0x47 0x49 0x46 0x38)这四个字节打头
'''
#读取gif文件的前四个字节
def is_gif(fname,n):
f=open(fname,'br')
first=list(f.read(4))
return first
first4=is_gif(r'C:\Users\Administrator\Desktop\6d560794b3f73f81f459d3e1765fd206.gif',4)
print(first4)
a=map(lambda x:int(x,16),first4)#map(option,对象)
print(a)
阅读全文
0 0
- 我的Python日记(小白篇)——关于文件
- 我的创业日记3(我的office)——我的第二个家
- 我的C++学习日记——关于const数值变量,指针和引用的理解
- 我的python学习日记【序?】
- 写给自己-我的Python日记(1)
- 我的视觉日记——王小慧
- Python日记——model的使用
- 我的日记(20070528)
- 我的日记(20070605)
- 我的日记 (20070608)
- 我的日记(1)
- python成长日记2:文件的输入输出
- 日记-记录我的日记
- 我的日记——链表的创建
- grindstone+晨间日记——完美管理我的时间
- 我的学习日记之JavaScript——表白格
- 我的创业日记2(公司愿景)——我们的目标
- 我的创业日记4(奋斗不息)——通往理想的征程
- 航空路线问题
- 算法题
- listView的下拉刷新
- mysql集群技术:主主复制
- 如何提高sql语句的执行效率
- 我的Python日记(小白篇)——关于文件
- 【Scikit-Learn 中文文档】二十九:优化估计器的超参数
- mybatis四大神器之一->增加
- 什么是Servlet容器?
- bzoj1031: [JSOI2007]字符加密Cipher
- 基于DataFrame的StopWordsRemover处理
- opencv多版本共存
- 详解HTML 标签和属性
- 基于DF的Tokenizer分词