python文件流,os函数

文件流:

    语法:

        file_object = open(file_name, access_mode = ‘r’, buffering = -1)

        open函数有很多的参数,常用的是file_name,mode和encoding

        file_name:打开的文件名,若非当前路径,需指定具体路径

        access_mode:打开文件的模式

        encoding:指定数据的字符编码格式

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

       1.    file.close();    关闭文件。关闭后文件不能再进行读写操作。

        2.    file.flush();    刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

        3.    file.fileno();  返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

        4.    file.isatty();   如果文件连接到一个终端设备返回 True,否则返回 False。

        5.    file.next();    返回文件下一行。

        6.    file.read([size]);    从文件读取指定的字节数,如果未给定或为负则读取所有。

        7.    file.readline([size]);    读取整行,包括 "\n" 字符。

        8.    file.seek();    设置文件当前位置

        9.    file.tell();    返回文件当前位置

        10.  file.truncate([size])   从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

        11.    file.write();    将字符串写入文件,返回的是写入的字符长度。

        12.    file.writelines(序列);   向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 

  不同方式打开文件列表:

        1. r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】  

        2. w,只写模式【不可读;不存在则创建;存在则清空内容】   

        3. x, 只写模式【不可读;不存在则创建,存在则报错】   

        4. a, 追加模式【可读; 不存在则创建;存在则只追加内容】,文件指针自动移到文件尾。    

        "+"表示可以同时读写某个文件   

        5. r +, 读写【可读,可写】   

        6. w +,写读【可读,可写】,消除文件内容,然后以读写方式打开文件。   

        7.x + ,写读【可读,可写】   

        8. a +, 写读【可读,可写】,以读写方式打开文件,并把文件指针移到文件尾。

  "b"表示以字节的方式操作,以二进制模式打开文件,而不是以文本模式。
  9.rb或r + b 
  10. wb 或w + b11.ab或a + b

os函数:

os.sep:取代操作系统特定的路径分隔符

os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。

os.getenv()和os.putenv:分别用来读取和设置环境变量

os.listdir():返回指定目录下的所有文件和目录名

os.remove(file):删除一个文件

os.stat(file):获得文件属性

os.chmod(file):修改文件权限和时间戳

os.mkdir(name):创建目录

os.rmdir(name):删除目录

os.removedirs(r“c:\python”):删除多个目录

os.system():运行shell命令

os.exit():终止当前进程

os.linesep:给出当前平台的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

os.path.split():返回一个路径的目录名和文件名

os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件

os.path.existe():检验给出的路径是否真的存在

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回当前目录('.')

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是目录,不是目录就返回false

os.path.isfile(name):判断name这个文件是否存在,不存在返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):或得文件大小,如果name是目录返回0L

os.path.abspath(name):获得绝对路径

os.path.isabs():判断是否为绝对路径

os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名和扩展名

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径

 

存储在文件中

也可以存在文件中,使得对象持久化。使用的是dump和load函数,注意和上面的区别,少了s。

由于pickle写入的是二进制数据,所以打开方式需要以wb和rb的模式

# 序列化
with open('abc.txt', 'wb') as f:
  dic = {'age': 23, 'job': 'student'}
  pickle.dump(dic, f)

# 反序列化
with open('abc.txt', 'rb') as f:
  aa = pickle.load(f)
  print(aa)




猜你喜欢

转载自blog.csdn.net/qq_38262155/article/details/80683658