Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这怎么可能呢;并非所有文件对象都是可查找的";,根据pydoc?_Python_File_Seek - Fatal编程技术网

Python 这怎么可能呢;并非所有文件对象都是可查找的";,根据pydoc?

Python 这怎么可能呢;并非所有文件对象都是可查找的";,根据pydoc?,python,file,seek,Python,File,Seek,我运行了“pydoc file.seek”,文档中的这一行让我感到困惑。“请注意,并非所有文件对象都是可查找的。”据我所知,“不可查找”意味着“即使您拥有访问权限,也不能使用seek”。我不明白,怎么可能呢?怎么会有无法查找的文件对象呢?磁盘上的文件总是可以查找的,但文件句柄抽象并不仅仅适用于本地磁盘上的文件。单向信息流,如管道、网络套接字等,只要您将它们保留在缓冲区或内存中,它们就只为您而存在;除非您自己保存了信息,否则您无法返回并重新提取五分钟前客户端给您的响应。“文件对象”不一定指实际的磁

我运行了“pydoc file.seek”,文档中的这一行让我感到困惑。“请注意,并非所有文件对象都是可查找的。”据我所知,“不可查找”意味着“即使您拥有访问权限,也不能使用seek”。我不明白,怎么可能呢?怎么会有无法查找的文件对象呢?

磁盘上的文件总是可以查找的,但文件句柄抽象并不仅仅适用于本地磁盘上的文件。单向信息流,如管道、网络套接字等,只要您将它们保留在缓冲区或内存中,它们就只为您而存在;除非您自己保存了信息,否则您无法返回并重新提取五分钟前客户端给您的响应。

“文件对象”不一定指实际的磁盘文件。也许它是一个套接字、一个管道或任何其他东西,当它实际上不是一个文件时,可以方便地将它当作一个文件来处理。@JohnGordon啊,那么我理解了。只有当文件流支持随机访问时才可查找。可能会遇到任何偏差this@SriniV等等,你是说磁带上的文件不可查找吗?如果我通过网络访问另一台计算机(我们称之为服务器)的文件怎么办?就像Youtube的视频播放器一样,它似乎能够对播放的视频文件执行随机访问,使其能够来回移动,即使它没有缓冲。不是没有延迟,但似乎通过网络进行随机访问是可能的。这是因为有一种比单一单向网络连接更复杂的机制在起作用。在不检查播放器的情况下,我假设有一个协议告诉服务器您想要倒带流。这并不会改变这样一个事实,即您播放或跳过的比特不再可用,除非您让服务器重新传输它们。(当然,至少在理论上,客户端可以将播放或跳过的比特保留在内存中,以便可以返回;但同样,网络连接是不可查找的。)