python文件操作——I/O

文件I/O

  • 读取键盘输入:

    • raw_input
    • input
  • raw_input函数:

    • raw_input([prompt])函数从标准输入读取一个行,默认的标准输入是键盘:
    • str = raw_input("请输入:") print "你输入的内容是: ", str
  • input()函数

    • 比较上个函数基本类似,但input可以接收一个表达式作为输出并将运算结果返回输出:
      str = input("请输入:") print "你输入的内容是: ", str

读文件与写文件

  • open(filename, mode)
    • filename 包含了你要访问的文件名的字符串值
    • mode 解决了打开文件的模式:
      • r
      • rb
      • r+
      • rb+
      • w
      • wb
      • wb+
      • a
      • ab
      • a+
      • ab+

__School__ = '河北大学'

__ProductName__ = 'PyCharm'

__Project__ = 'Pyproject'

__Time__ = '2019-05-09 '


class Main(object):

    def __init__(self):
        pass

    def main(self):
        f=open("./Test/foo.txt","w")
        f.write("这是一个测试文件。\n是否将字符写入文件\n")
        f.close()
        pass


if __name__ == '__main__':
    Main().main()

在这里插入图片描述

文件对象的方法

  • read()方法
    • 为了读取一个文件的内容,调用read(size),这将读取一定数目的数据,然后作为字符串或字节对象返回。size是一个可选的数字类型的参数。当size被忽略了或者为负,那么该文件的所有内容都将被读取并且返回。以下实例假定文件foo.txt已存在:

__School__ = '河北大学'

__ProductName__ = 'PyCharm'

__Project__ = 'Pyproject'

__Time__ = '2019-05-09 '


class Main(object):

    def __init__(self):
        pass

    def main(self):
        f=open('./Test/foo.txt','r')
        str=f.read()
        print(str)
        f.close()
        pass


if __name__ == '__main__':
    Main().main()

在这里插入图片描述

readline()

  • readline()会从文件中读取单独的一行。换行符位"\n"。readline()如果返回一个空字符串,说明已经读取到最后一行。
__School__ = '河北大学'

__ProductName__ = 'PyCharm'

__Project__ = 'Pyproject'

__Time__ = '2019-05-09 '


class Main(object):

    def __init__(self):
        pass

    def main(self):
        f=open('./Test/foo.txt','r')

        str=f.readline()
        print(str)
        f.close()
        pass


if __name__ == '__main__':
    Main().main()

在这里插入图片描述

readlines()

  • readlines()将返回该文件中包含的所有行。
  • 如果设置可选参数sizehint,则读取指定长度的字节,并且将这些字节按行分割:
__School__ = '河北大学'

__ProductName__ = 'PyCharm'

__Project__ = 'Pyproject'

__Time__ = '2019-05-09 '


class Main(object):

    def __init__(self):
        pass

    def main(self):
        f=open('./Test/foo.txt','r')
        str=f.readlines()
        print(str)
        f.close()
        pass


if __name__ == '__main__':
    Main().main()

在这里插入图片描述

wirte()

  • wirte(string)将string写入到文件中,然后返回写入的字符数:
__School__ = '河北大学'

__ProductName__ = 'PyCharm'

__Project__ = 'Pyproject'

__Time__ = '2019-05-09 '


class Main(object):

    def __init__(self):
        pass

    def main(self):
        f=open('./Test/foo.txt','w')
        num=f.write('这是一个测试文件。\n是否将字符写入文件\n')
        print(num)
        pass


if __name__ == '__main__':
    Main().main()

在这里插入图片描述

tell()

  • tell()返回文件对象当前所处的位置,它是从文件开头开始算起的字节数。

seek()

  • 如果要改变文件当前的位置,可以使用seek(offset,from_what)函数。
  • from_what的值,如果是0表示开头,如果是1表示当前位置,2不是文件的结尾,如:
    • seek(x,0):从起始位置即文件首行字符开始移动x个字符
    • seek(x,1):表示从当前位置往后移动x个字符
    • seek(x,2):表示从文件的结尾往前移动x个字符

pickle模块

  • python的pickle模块实现了基本的数据序列和反序列化。
  • 通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中,永久存储。
  • 通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序员保存的对象。
    • 基本接口:
      • pickle.dump(obj, file, [,protocol])
    • 有了pickle这个对象,就能对file以读取的形式打开:
      • x=pickle.load(file)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值