Python IO-文件读写

文件File操作流程:

1.打开文件:建立程序与文件的联系  

      语法:file_obj = open(filename, mode)

      filename:     

                 原字符串 r’c:\temp\text.txt’     

                 转义字符串 ‘c:\\temp\\text.txt’  

      mode   

                   r   只读方式     

                   w  打开文件只写入   

                   a  打开一个文件用于追加     

                    +  r+,w+读写     

                    b   二进制   

       读方式     

       写方式


2.读写文件                

        read readline readlines     

        write writelines

 3.关闭文件   

         file_obj.close()

实例

#----文件读写
#1.打开文件(设置模式)
# file_1 = open('day9.py', 'r', encoding='utf8')#读模式 r
file_name = 'filedemo\\2.txt'
file_2 = open(file_name, 'w', encoding='utf8')#w w+ wb模式,打开文件第一件事就是清空
                                              #a r+ rb+ 模式打开文件不会清空
                                              # b,rb wb r+b w+b

#2.做读写操作
#----读的方法: read(读全部)
        #  redline(读一行)
        #  readlines(读全部,返回列表,列表的一个元素就是文件的一行)
#----seek(offset='偏移量', whence='给offset指定相对位置',0:开头 1:当前位置 2:末尾)
# print('====read()====')
# content_read = file_1.read(10)#一次读10个字节
# print(content_read)
# print('当前位置:',  file_1.tell())#获取当前位置
# print(file_1.read(20))
# print('当前位置:',  file_1.tell())#获取当前位置
# file_1.seek(2, 0)
# print('当前位置:',  file_1.tell())#获取当前位置

# print('====readline()====')
# content_readline = file_1.readline(5)
# print('第一次:', content_readline)
# print('第二次:', file_1.readline(5))
#
# print('====readlines()====')
# content_readlines = file_1.readlines(40)
# print(content_readlines)

#----写的方法: write
               # writelines


#----写操作
#====write====
constant_str = '123\n' + 'abc\n' +' 你好\n'
file_2.write(constant_str)
#====weitelines====
file_2.writelines(['123', '456', '789'])
#3.关闭文件
#file_1.close()
file_2.close()
#可读写模式
# r+ w+
file_name = r'filedemo/3.txt'
with open(file_name, 'rb+') as f:
    print(f.read())
   # f.write('\n中文') #b模式:1.使用encoding
                       #       2.不使用字符串,TypeError: a bytes-like object is required, not 'str'
    content_str = '\n中文'
    content_str_byte = content_str.encode('utf8')
    print(content_str_byte)
    f.write(content_str_byte)
    print('位置:', f.tell())
    f.seek(0)
   # f.seek(2, 1)
    print('位置:', f.tell())
    print(f.read())

#复制图片

file_name_ori = 1'../img1.jpg'

file_name_target = r'../ing2.jpg'

with open(file_name_ori, 'rb') as f:

       content_byte = f.read()

with open(file_name_target, 'wb') as f:

       f.write(content_byte)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值