1 打开文件

在硬盘上先创建一个 open.txt的文件,
f=open(r"/software/Python/内容/第八章文件/save/open.txt")
在terminal中执行程序后若无任何输出并且没报错即正确打开。

2 文件对象的方法

1)close() 关闭文件
    f=open(r"/software/Python/内容/第八章文件/save/open.txt")

        ......文件的操作........

    最后文件执行完毕关闭文件
    f.close()
2)read(size):从文件中取size个字符,

    f=open(r"/software/Python/内容/第八章文件/save/open.txt")
    result=f.read(10)
    print(result)
    f.close()
    输出:第一行 hello 
    这里输出前10个字符,当未给定size或者给定负值时,读取所有文件内容

3)readline():输出第一行内容,readlines()返回所有行数据
    f=open(r"/software/Python/内容/第八章文件/save/open.txt")
    result=f.readline(3)
    print(result)
    f.close()
    输出:第一行 hello 我是张三

4)write(str):将str字符串写入文件中
    f=open(r"/software/Python/内容/第八章文件/save/open.txt",'a')
    str="第八行 hello 我是江江"
    result=f.write(str)
    print(result)
    f.close()
5)writelines(seq) 向文件中添加列表
    f=open(r"/software/Python/内容/第八章文件/save/open.txt",'a')
    seq=["第八行 hello 我是江江\n","第九行 hello 我是魁魁"]
    result=f.writelines(seq)
    print(result)
    f.close()
6)seek(offset,from):移动文件指针所在位置,

注释:一个中文字符占用2字节空间,一个字符占用一个工作空间

    这里offset是指移动的字节数,from(0代表初始位置,1代表当前位置,2代表末尾)
   tell():返回当前文件中 指针的位置  

    # 打开文件
    fo=open(r"/software/Python/内容/第八章文件/save/open.txt",'rb')
    print("初始数据是:%s" %(fo.readline()))
    fo.seek(3,0)  #这里0代表初始位置
    print("光标移动的位置是:",fo.tell())

    print("------------------------------------")

    fo.seek(5,1) #这里1代表当前位置
    print("光标移动的位置是:",fo.tell())
    line = fo.readline()
    print (": %s" % (line))

    # 关闭文件
    fo.close()

3 文件的关闭

    close()方法用于关闭文件,如果是C语言那么文件关闭无容置疑非常的重要。但是
python确是与之有些区别,因为python拥有垃圾收集机制,会在文件对象的引用计数降至零的时候自动关闭文件。因此假如忘记关闭文件不会造成内存泄露那么危险的结果。
    但是并不是说可以不关闭文件,如果发生了写入操作,那么应该在文件写入后进行文件的
关闭,因为如果发生断电情况那些缓存的数据根本不会写入到文件中。

4 文件的读取与定位

之前介绍过列表功能非常强大,什么都可以放,这里文件也可以放。

# 打开文件
fo=open(r"/software/Python/内容/第八章文件/save/open.txt",'rb')
# print("初始数据是:%s" %(fo.readlines()))
print(list(fo))
# 关闭文件
fo.close()
输出:
    [b'www.runoob.com1\n', b'www.runoob.com2\n', b'www.runoob.com3\n', b'www.runoob.com4\n', b'www.runoob.com5\n', b'www.runoob.com6\n', b'www.runoob.com7\n', b'www.runoob.com8\n', b'\n']

迭代文本中的内容

# 打开文件
fo=open(r"/software/Python/内容/第八章文件/save/open.txt",'rb')
# print("初始数据是:%s" %(fo.readlines()))
# fo.seek(0,0)
for each in fo:
    print(each)
# 关闭文件
fo.close()

输出:
    b'www.runoob.com1\n'
    b'www.runoob.com2\n'
    b'www.runoob.com3\n'
    b'www.runoob.com4\n'
    b'www.runoob.com5\n'
    b'www.runoob.com6\n'
    b'www.runoob.com7\n'
    b'www.runoob.com8\n'
    b'\n'
评 论