L18-python语法基础-储存文件的 *** 作(day8)

L18-python语法基础-储存文件的 *** 作(day8),第1张

目录

一、文件 *** 作介绍

二、文件的打开和关闭

python文件打开方法:

文件的关闭:

三、文件的读写

文件读取方式    

 文件的写入

 四、Linux文件简介

 Python对文件 *** 作过程分析

 d8作业:


一、文件 *** 作介绍

 

文件 : python中文件是对象
Liunx 文件 : 一切设备都可以看成是文件

    磁盘文件    管道  网络Socket
文件属性:
    读  写  执行权限
文件的作用:就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力


二、文件的打开和关闭 python文件打开方法:

open(name,mode[buf])

f = open('test.txt', 'w')

文件打开方法:

with open(‘test.txt’, ‘w’) as file   #会自动关闭(open必须手动关闭) 

f = open('test.txt','w')

with open("test.txt",'r') as f:
    f.read()

'''

进程已结束,退出代码 0

文件的关闭:

 close
    # 新建一个文件,文件为:test.txt 
    f = open('test.txt', 'w')
     # 关闭这个文件
     f.close()

文件关闭的原因:

1、将写缓存同步到磁盘 ;
2、Linux 系统中每一个进程打开文件的个数是有限的;
3、如果打开文件数到了系统限制, 则会打开失败
 

三、文件的读写

文件:

文件读取方式    


read([size]) :读取文件(读取size个字节,默认读取全部)
f = open('test.txt', 'r')
content = f.read(5) # 最多读取5个数据
print(content) 
print("-"*30) # 分割线
print(content)
f.close() # 关闭文件,这个可以是个好习惯哦

file = open('test.txt','r')
contend = file.read(10)
print(contend)
print('-'*20)
result = file.read()
print(result)
file.close

'''

wqdqd
qwdq
--------------------
qwdqwd
qwdqdq

进程已结束,退出代码 0


文件读取方式    
readlines([size]) :读取文件返回每一行所组成的列表
f = open('test.txt', 'r') 
content = f.readlines() 
print(type(content)) 
i=1 
for temp in content: 
    print("%d:%s" % (i, temp))
     i += 1
 f.close()
 

f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
print('-'*20)
i = 1
for temp in content:
    print("%d:%s" % (i, temp))
    i += 1
f.close()

'''


--------------------
1:wqdqd

2:qwdqqwdqwd

3:qwdqdq

进程已结束,退出代码 0

文件读取方式    
 readline 读取一行
    f = open('test.txt', 'r') 
    content = f.readline() 
    print("1:%s" % content) 
    content = f.readline() 
    print("2:%s" % content) 
    f.close()    

f = open('test.txt', 'r')
content = f.readline()
print("1:%s" % content)
content = f.readline()
print("2:%s" % content)
f.close()

'''
1:wqdqd

2:qwdqqwdqwd


进程已结束,退出代码 0
 文件的写入

文件的写入
    write(str): 将字符串写入文件
    writelines(): 写多行到文件中


文件读取写入文件指针移动过程

 写文件的过程与存在问题

Python写入磁盘的时机

    1. 主动调用close 方法, 写缓存同步到磁盘
    2. 写入数据量大于或等于写缓存,写缓存同步到磁盘

 四、Linux文件简介

文件包括: 磁盘(ext2, ext4)文件 , NFS文件系统,
 各种外设(sd卡, USB设备)


Linux 如何管理外设?
Linux文件系统图:

 Python对文件 *** 作过程分析

 

OS模块:
文件重命名
    rename(需要修改的文件名, 新的文件名)

    import os
    os.rename("毕业论文.txt", "毕业论文-最终版.txt")

OS模块:
删除文件
    remove(待删除的文件名)

    import os
    os.remove("毕业论文.txt")

OS模块:
创建文件夹
    mkdir()

    import os
    os.mkdir(“张三”)

OS模块:
    获取当前目录
        os.getcwd()
    改变默认目录
        os.chdir("../")
    获取目录列表
        os.listdir("./")
    删除文件夹
        os.rmdir("张三")

 

 

 d8作业:

一、单选题
1.打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为(C)。
A. 'r' B. 'w' C.'a' D. 'w+'
2.假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?(A
A. 'r' B. 'w' C.'a' D. 'w+'
3.假设file是文本文件对象,下列选项中,哪个用于读取一行内容?(C
A. file.read() B. file.read(200)
C.file.readline() D.file.readlines()
4.下列方法中,用于向文件中写出内容的是(B)。
A.open B.write C.close D.read
5.下列荣方法中,用于获取当前目录的是(C)。
A.open B.write C.Getcwd D.read
二、判断题
文件打开的默认方式是只读。()打开一个可读写的文件,如果文件存在会被覆盖。()使用write方法写入文件时,数据会追加到文件的末尾。()实际开发中,文件或者文件夹 *** 作都要用到os模块。()read方法只能一次性读取文件中的所有数据()。
三、填空题
打开文件对文件进行读写, *** 作完成后应该调用___close____方法关闭文件,以释放资源。seek方法用于移动指针到制定位置,该方法中___offset_____参数表示要偏移的字节数。使用readlines方法把整个文件中的内容进行一次性读取,返回的是一个_____list_____。os模块中的mkdir方法用于创建_____文件夹_____。在读写文件的过程中,__Getcwd_______方法可以获取当前的读写位置。

例子:
>>> f=open("aaa.txt","w")     #以只写的形式打开一个叫做aaa.txt的文件
>>> f.write("my name is liuxiang,i am come frome china")   #写入内容
41
>>> f.close()     #关闭文件
>>> f=open("aaa.txt","r")     #以只读打开文件
>>> f.read()   #读取内容
'my name is liuxiang,i am come frome china'      
>>> f.seek(3,0)      #“0”代表从文件开头开始偏移,偏移3个单位
>>> f.read(5)     #从偏移之后的指针所指的位置(即“n”)开始读取5个字符
'name '
>>> f.tell()     #显示现在指针指在哪个位置(即“i”的位置)
8
>>> f.readline()       #读取这一行剩下的内容
'is liuxiang,i am come frome china'     
 
 
 
>>> f.seek(0,2)      #“2”代表从末尾算起,“0”代表偏移0个单位
41
>>> f.read()
''         #因为是从末尾算起,内容已结束。所以读取内容为空

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/723937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存