之前学习linux的时候接触到了重定向,然后知道了文件描述符,对文件描述符十分感兴趣

fd(文件描述符),当进程系统调用open打开一个文件的时候,会返回一个fd值,在/proc/PID/fd里能看到这个进程已打开的fd,每个fd指向一个文件,进程通过fd操作文件

当我学到python的open函数的时候,发现和linux的open函数很相近

linux open C语言 :int fd = open(const char *pathname,int flags,mode_t mode);

python :open(name[, mode[, buffering]]) 

简单的写了一个python脚本

#!/usr/bin/python
file = open('test.txt')
print(file.read())
file.close()

然后用strace去查看,发现最后使用了open函数打开了这个文件

 

然后使用另一种方式测试

 

结论:

pthon的open是调用了linux上的open函数,linux的设计理念一切皆文件在python也体现了出来