linux——06文件io

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、标准io与文件io的区别

系统调用;linux系统内核中的函数接口
库函数:针对于系统调用的一次封装
标准io时库函数,文件io时系统调用
在这里插入图片描述
标准io与文件io的区别(概念):
标准io对文件读写操作时:程序调用库函数,需建立缓存区,然后让内核进行操作
文件io则程序直接进行让内核进行操作

标准io与文件io的区别(概念):
1.标准io
(1)实时性差
(2)移植性好
(3)标准io有缓存的
2.文件io
(1)实时性好
(2)移植性差:只能在Linux系统下运行
(3)文件io没有缓存的

二、文件io

1.基本函数

	文件描述符:最大是1023
	1.open
	int open(const char *pathname, int flags);
	int open(const char *pathname, int flags, mode_t mode);
	功能;
	打开文件
	参数:
		mode:创建文件权限
		pathname:文件名或者路径
		flags:打开文件标志位
		O_RDONLY, 只读
		O_WRONLY,只写
	    O_RDWR.,读写
		O_APPEND:追加
		O_ASYNC:异步io
		O_CREAT:文件创建才有后面的flag
		mode:
		S_IRUSR  用户读权限
        S_IWUSR 用户写权限
        S_IXUSR  用户执行权限 
		S_IRGRP  同组用户读权限
        S_IWGRP  同组用户写权限
        S_IXGRP  同组用户执行权限
	    S_IROTH  其他用户读权限
	    S_IWOTH  其他用户写权限
        S_IXOTH  其他用户执行权限              
		O_EXCL:文件存在报错
		O_NONBLOCK:非阻塞
		O_TRUNC:文件存在请0
	返回值:
		成功返回文件描述符
		失败返回-1

	2.close
		int close(int fd);
	3.read/write
	ssize_t write(int fd, const void *buf, size_t count);
	功能: 
		向文件描述符fd中读入buf开始的const个字节数据
	参数:
		fd:文件描述符
		buf:写入数据空间的首地址
		count:写入数据的字节数
	返回值:
		成功返回实际写入数据的字节数
		返回0读到
		失败返回-1
		ssize_t read(int fd, void *buf, size_t count);
		功能: 
		向文件描述符fd中写入buf开始的const个字节数据
	参数:
		fd:文件描述符
		buf:写入数据空间的首地址
		count:最多读取数据的字节数
	返回值:
		成功返回实际写入数据的字节数
		返回0读到文件末尾
		失败返回-1
		

	4.lseek

2.标准io与文件io所对应权限

	r	O_RDONLY,
	r+	O_RDWR
	w	O_WRONLY|O_CREAT|O_TRUNC,0664 
	w+	O_O_RDWR|O_CREAT|O_CREAT,0664 
	a	O_APPEND|O_CREAT|O_CREAT,0664 
	a+	O_RDWR|O_CREAT|O_APPEND,0664 

3.文件偏移

	5.lseek
	off_t lseek(int fd, off_t offset, int whence);
	功能:
		重定位流的偏移量
	参数:
		fd;文件描述符
		offset:偏移量
		whence:
		SEEK_SET	文件开头	
		SEEK_CUR	文件当前位置
		SEEK_END	文件末尾
	返回值:
		成功:返回当前位置的偏移量
		返回-1
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.与标准io函数关系

	标准io就是文件io 的一次封装
	标准io                文件io
	FILE*					fd
	
	fopen                   open
	fclose					close

	fputc/fputs/fprintf		read
	fwrite
	
	fgetc/fgets/fscanf 		write
	fread

3.linux7种文件类型对应的io类型

	b		文件io
	c		文件io
	d		目录io
	-		文件io/标准io
	l		
	s		文件io
	p		文件io
	

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值