提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、标准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提供了大量能使我们快速便捷地处理数据的函数和方法。