Python中的用for,while循环

发布时间:2019-08-30 08:31:09编辑:auto阅读(1603)

    使用for循环遍历文件

    打开文件

    open

         r:以读模式打开

        w:以写模式打开

        a:以追加模式打开

        r+:以读写模式打开

        w+:以读写模式打开(参见w)

        a+:以读写模式打开(参见a)

        rb:以二进制读模式打开

        wb:以二进制写模式打开(参见w)

        ab:以二进制追加模式打开(参见a)

        rb+:以二进制读写模式打开(参见r+)

        wb+:以二进制读写模式打开(参见w+)

        ab+:以二进制读写模式打开(参见a+)


    查看帮助:

        open(...)

        open(name[, mode[, buffering]]) -> file object

        Open a file using the file() type, returns a file object.  This is the

        preferred way to open a file.  See file.__doc__ for further information.

        (END)...skipping...


        [root@localhost ~]# cat /tmp/1.txt

        1111

        [root@localhost ~]#

    只读方式打开:

        In [26]: open('/tmp/1.txt')

        Out[26]: <open file '/tmp/1.txt', mode 'r' at 0x20860c0>

        In [27]: fd = open('/tmp/1.txt')

        In [28]: fd

        Out[28]: <open file '/tmp/1.txt', mode 'r' at 0x20861e0>

        In [29]: type(fd)

        Out[29]: file

    以写方式打开:

        In [34]: fd = open('/tmp/1.txt','w')

        In [35]: fd.write('2222\n')

        In [36]: fd.close()

        [root@localhost ~]# cat /tmp/1.txt

        2222

        [root@localhost ~]#

    以追加方式打开:

        In [34]: fd = open('/tmp/1.txt','a')

        In [35]: fd.write('3333\n')

        In [36]: fd.close()

        [root@localhost ~]# cat /tmp/1.txt

        2222

        3333

        [root@localhost ~]#

        

    read():

        In [41]: fd.read()

        Out[41]: '2222\n3333\n'

        In [42]: fd.read()

        Out[42]: ''

        In [49]: fd.readline()

        Out[49]: '2222\n'

        In [50]: fd.readline()

        Out[50]: '3333\n'

        In [51]: fd.readline()

        Out[51]: ''

        In [52]:


    read()  和readline()返回的是字符串:

    readlines()返回的是列表:

        in [52]: fd = open('/tmp/1.txt')

        In [53]: fd.readlines()

        Out[53]: ['2222\n', '3333\n']

    脚本:

        #!/usr/bin/python

        fd = open('/tmp/1.txt')

        for line in fd:

        print line,

        fd.close()


        [root@localhost 20171228]# python read_file.py

        2222

        3333

        [root@localhost 20171228]#

    使用while循环遍历文件

    脚本:

        #!/usr/bin/python

        fd = open('/tmp/1.txt')

        while True:

        line = fd.readline()

        if not line:

        break

        print line,

        fd.close()

        

        [root@localhost 20171228]# python read_fi_while.py

        2222

        3333

        [root@localhost 20171228]#


    with open打开文件 :

        #!/usr/bin/python

        with open('/tmp/1.txt') as fd:

        while True:

        line = fd.readline()

        if not line:

        break

        print line,

        

关键字