潭州课堂25班:Ph201805201 第十三课 文件 (课堂笔记)

对文件的操作,

                                       open('h:\\asa.txt')

r

以只读方式打开

w

以写入方式打开,会覆盖已文件

X

如果已存在,会异常

a

如果文件存在,则在其末尾追加写入

b

以二进制方式打开

t

以文本方式打开

+

可读写方式,可添加其他方式

U

通用换行符支持

 

       打开文件f= open('h:\\asa.txt')

        f.write( 字符串 )      向文件里写内容 

  f.flush( )     刷新缓存区,把内容写入文件,

       f.read()     读取文件   在()中可写参数,如:f.read(5)读前5个字符

       f.close()      关闭文件

 

  查当前文件指针的位置,>>> f.tell()

  控制指针的位置,>>> f.seek(25,0)      #()中的参数:25:第25个字符,

             第二个参数的设置说明:

            0:从0开始数移动

            1,从当前位置开始移动

            3,从末尾开始移动

  f.writelines( ['a','b','c'] )      写入可迭代类型

  读出所在指针的这一行,,   f. readline()    ()中可写参数,读取内个,

  读出多行,>>>       f.readlines ()   返回个列表

  把打开的文件变为列表,list()    >>> list (f)

  碟带出文件:

      >>> for i in f:

               print (i)

 

以可读写模式打开      >>> f= open('h:/asa.txt','w')

                     >>>中  

()中,第一个‘’内为文件路径,

       第二个‘’内w  表示  以读写方式打开,

                            (w,若已经该文件,将会覆盖掉该文件)

 

 

上下文管理: __enter__ 和 __xxit__

class Test:
    def __enter__(self):                #   with  进来时触发
        print('正在调用 enter')
        return 'enter 返回'
    def __exit__(self, exc_type, exc_val, exc_tb):  # with 退出时触发
        print('正在调用 exit')

with Test() as t:
    print(t)

 

import io

sio = io.StringIO()
sio.write('abc')
sio.seek()
sio.read()
sio.getvalue() #  不管光标在哪,都可以读到所有内容,

 

用代码操作linux

import os

os.system('ls')
os.mkdir('test')       #   创建文件夹
os.rmdir('test')       #   删除文件夹
a = os.path.join('/home/pyvip','projects')
#   拼接文件路径

import shutil
shutil.move('a','b')    
#   把第一个谁的移动到第二个文件中

shutil.copy('a','b')    
#   把第一个文件内容复制给第二个文件,如果第二个文件不存,则新建

shutil.rmtree('a')      #  删除文件夹,包括里的内容 

 

 

 

 with 的使用,

  . with open("/tmp/foo.txt") as file: 

    .     data = file.read()  

 

 

posted @ 2018-06-15 13:10  25班Ph201805201  阅读(206)  评论(0编辑  收藏  举报