python基础:文件的 *** 作

python基础:文件的 *** 作,第1张

open函数
语法:
open(name[,mode[,bufferning[,encoding]]])
name:包含了要访问的文件名称的字符串值[区分绝对路径和相对路径]
mode:决定了打开文件的模式:只读,写入,追加等。
buffering:如果buffering的值被设置为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果buffering的值设置为大于1的整数,表明了是寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
关闭文件
语法:
文件对象.close()

例如:
file = open('1.txt,'w')
file.close()
文件读写

read(num):可以读取文件里面的内容。num表示要从文件读取的数据长度(单位是字节),如果没有传入num,那么表示读取文件中所有的数据

语法:
read(num)

例如:
#读取 *** 作
f = open('test.txt','r')
content = f.read(5)
print(content)
print('_'*30)
content = f.read()
print(content)
f.close()

结果为:
1
2
3
______________________________

4
5
6
7

open文件
open结合for循环逐行读取
files = open('python.txt','r',encoding='utf-8')
i = 1
for line in files:
      # 没有使用read
    print('这是第%d行内容:%s'%(i,line),end='')
    i += 1
files.close()

结果为:
这是第1行内容:123456789
这是第2行内容:SADFASDF
with…open

关键字with在不在需要访问文件后将其关闭。可以让python去确定:你只管打开文件,并在需要时使用它,python自会在合适的时候自动将其关闭;
也可以使用open()和close()来打开和关闭文件,但这样做,如果程序存在bug,导致close()语句未执行,文件将不会关闭。

#用with结合for
with open('python.txt','r',encoding='utf-8') as files:
    i = 1
    for line in files:
        print('这是第%d行内容:%s'%(i,line),end='')
        i += 1

结果为:
这是第1行内容:123456789
这是第2行内容:SADFASDF
访问模式


文件的读

readlines:可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

语法:
readlines()

例如:用openfor循环进行逐行读取
f = open('test.txt','r',encoding='utf-8')
content = f.readlines()
i = 1
for list1 in content:
	print('这是第%d行内容:%s'%(i,list1),end='')
	i += 1
f.close()

结果为:
这是第1行内容:1
这是第2行内容:2
这是第3行内容:3
这是第4行内容:4
这是第5行内容:5
这是第6行内容:6
这是第7行内容:7

例如:用withfor循环进行逐行读取
with open('test.txt','r',encoding='utf-8') as files:
    contents = files.readlines()
    i = 1
    for list1 in contents:
        print('这是第%d行内容:%s'%(i,list1),end='')
        i += 1

结果为:
这是第1行内容:1
这是第2行内容:2
这是第3行内容:3
这是第4行内容:4
这是第5行内容:5
这是第6行内容:6
这是第7行内容:7
写入文件
1.如果要写入的文件不存在,函数open()将自动创建。
2.使用文件对象的访问write()讲一个字符串写入文件,这个程序是没有终端输出
3.函数write()不会再写入的文本末尾添加换行符,需要手动添加\n

注意:python只能将字符串写入文本文件,要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。

例如:
files = open('python.txt','w',encoding='utf-8')
content = 'hello world!'
content = '一起耍,可以吗??'
files.write(content)    #写入数据
files.close()

例如:
with open('python.txt','a',encoding='utf-8') as files:
    content = '\n滚蛋!'
    files.write(content)
常用函数



tell查看文件指针

例如:python.txt文件内容是:1234567890
files = open('python.txt','r',encoding='utf-8')
str = files.read(5)
print('当前读取的数据是:' +str)
# 查看文件的指针
position = files.tell()
print('当前的位置是:',position)
str = files.read()
print('当前读取的数据是:' +str)
# 查看文件的指针
position = files.tell()
print('当前的位置是:',position)
files.close()

结果是:
当前读取的数据是:12345
当前的位置是: 5
当前读取的数据是:67890
当前的位置是: 10

seek()设置指针

例如:python.txt文件内容是:1234567890
files = open('python.txt','r',encoding='utf-8')
str = files.read(5)
print('当前读取的数据是:' +str)
# 查看文件的指针
position = files.tell()
print('当前的位置是:',position)
# 重新设置文件的指针
files.seek(2,0)
str = files.read(2)
print('当前读取的数据是:' +str)
# 查看文件的指针
position = files.tell()
print('当前的位置是:',position)
files.close()

结果为:
当前读取的数据是:12345
当前的位置是: 5
当前读取的数据是:34
当前的位置是: 4

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存