zoukankan      html  css  js  c++  java
  • python基础之IO编程

    读文件

    with open('/path/to/file', 'r') as f:
        print(f.read())
    

    调用read()会一次性读取文件的全部内容,read()函数里面可以传入每次最多读取的字节大小,另外调用readline()函数可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list

    f = open(''/path/to/file', 'r')
    for line in f.readlines():
        print(line.strip()) # 把末尾的'
    '删掉
    

    写文件

    为了保证数据被全部写入到磁盘文件里面,这里采用用with语句。

    with open('/Users/michael/test.txt', 'w') as f:
        f.write('Hello, world!')   #在python解释器下会返回写入的字符串长度。
    

    要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码。

    StringIO

    StringIO就是说在内存中读写str。示例如下:
    写入StringIO

    >>> from io import StringIO
    >>> f = StringIO()
    >>> f.write('hello')
    5
    >>> print(f.getvalue())
    hello
    

    读取StringIO

    >>> from io import StringIO
    >>> f = StringIO('Hello!
    Hi!
    Goodbye!')
    >>> line = f.readline()
    >>> while line:
    ...     print(line.strip())
    ...     line = f.readline()
    ...
    Hello!
    Hi!
    Goodbye!
    

    BytesIO

    BytesIO实现了在内存中读写bytes,示例如下:
    写入BytesIO

    >>> from io import BytesIO
    >>> f = BytesIO()
    >>> f.write('中文'.encode('utf-8'))
    6
    >>> print(f.getvalue())
    b'xe4xb8xadxe6x96x87'
    

    读取BytesIO

    >>> from io import BytesIO
    >>> f = BytesIO(b'xe4xb8xadxe6x96x87')
    >>> f.read()
    b'xe4xb8xadxe6x96x87'
    

    如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成,操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。打开python的交互式命令行,我们来看一下如何使用os模块的基本功能。

    >>> import os
    >>> os.name #操作系统类型
    'nt'
    

    如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。
    要获取详细的系统信息,可以调用uname()函数,注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的。
    os.path.split() 函数就会返回以路径和最后一个文件名组成的元组 (path, last_part):

    >>> import os
    >>> _, filename = os.path.split('/home/luciano/.shh/idrsa.pub')
    >>> filename
    'idrsa.pub'
    >>>
    
    认真对待每一天,加油
  • 相关阅读:
    希尔排序
    代理模式
    快速排序
    插入排序
    各种排序算法的稳定性和复杂度
    简单选择排序
    冒泡排序
    流程图
    PLAY学习【未完】
    项目之maven心得
  • 原文地址:https://www.cnblogs.com/sunshine21/p/7750827.html
Copyright © 2011-2022 走看看