我的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)

原创粉丝点击