查看Linux线程打开文件数量限制:
cat /proc/线程id/limits
Max open files
file.fileno()属性:文件描述符,返回一个整数,每打开一个文件,fileno就会自动加1,由于file是个局部变量,每打开一个,另一个就会自动关闭。
03:39
Python文件为什么要关闭 1:将写缓存同步到磁盘; 2:linux系统中每个进程打开的文件个数是有限的; 3:如果打开文件数到了系统限制,在打开文件就会失败;
for i in range(1025):
...: f = open('hello.py', 'w')
...: print "%d: %d" % (i, f.fileno())
执行后显示 10 和 12
我的 fileno 是 12 10 是什么呢?
文件需要关闭,将写缓存同步到磁盘中;linux系统中每个进程打开文件的个数是由限制的
cat /proc/pid/limits 可以查看Linux系统对于pid进程的限制,其中包括max open files=1024
file.fileno()返回file descriptor,打开文件后该数值会加1
Python文件为什么要关闭
1、将写缓存同步到磁盘
2、Linux系统中每天进程打开文件的个数是有限的
3、如果打开文件数到了系统限制,打开文件就会失败
查看Linux线程打开文件数量限制:
cat /proc/线程id/limits
Max open files
Python文件为什么要关闭
1、将写缓存同步到磁盘
2、Linux系统中每天进程打开文件的个数是有限的
3、如果打开文件数到了系统限制,打开文件就会失败
打开文件 失败实验
file.fileno()属性:文件描述符,返回一个整数,每打开一个文件,fileno就会自动加1,由于file是个局部变量,每打开一个,另一个就会自动关闭。
Linux下打开文件的限制
Python文件为什么要关闭
python文件关闭:
关闭的目的:
1、将写缓存同步到磁盘;
2、linux系统中每个进程打开文件的个数是有限的;
3、如果打开文件数到了系统限制,再打开文件就会失败;
文件close的原因
文件关闭
fileno属性:指文件的描述符。每打开一个文件,fileno自动加1,一直累加到1024,打开文件将会失败。
list_f = [] for i in rage(1025): list_f.append(open('imooc.txt', 'w')) print "%d: %d" % (i, list_f[i].fileno()) #-->too many open files
良好的习惯:open后不需要时close
文件关闭后才会将超出缓冲区的内容写入到磁盘