What does fd mean in python?

爱喝马黛茶的安东尼
Release: 2020-07-10 17:21:53
Original
31165 people have browsed it

The file descriptor (fd) is the identification number used to uniquely record the currently opened file in the system. fd is an integer.

In addition to the file object, Python also provides operations on fd. The operation on fd is more low-level. The fd and file objects in Python are different concepts. As mentioned when introducing the file object, calling f.fileno() can obtain the fd of a file object, or you can encapsulate a file object on an existing fd: f = os.fdopen(fd).

What does fd mean in python?

#Some fds are allocated in advance when a process is created:

0——Stdin of the process

1 - stdout of the process

2 - stderr of the process

The os module in Python provides the following methods for fd:

1. Close fd

os.close(fd)
Copy after login

2. Copy fd

os.dup(fd)
Copy after login

Return a new fd1, this fd1 is copied Parameter fd.

3. Copy fd

os.dup2(fd, fd2)
Copy after login

Copy fd to fd2. If fd2 is already open, close it first.

4. From fd to file object

os.fdopen(fd, mode='r', bufsize=-1)
Copy after login

Returns a Python file object encapsulating fd. The parameters mode and bufsize correspond to the built-in open() function The parameters have the same meaning.

5. Obtain various attributes of the file from fd

os.fstat(fd)
Copy after login

Return an instance x of stat_result type, and os.stat(path) The returned type is the same, except that the relevant attributes of the corresponding file are obtained through an fd.

6. Change the current position of the file corresponding to fd

os.lseek(fd, pos, how)  
Copy after login

The effect is the same as f.seek(pos, how), the parameter how specifies the reference point, there are three types in total, They are: os.SEEK_SET == 0 (start of file), os.SEEK_CUR == 1 (current position) and os.SEEK_END == 2 (end of file).  

Nothing similar to f.tell() In this way, you can directly use fd to obtain the current position of the file. In fact, you can implement one yourself using os.lseek().

os.lseek(fd, 0, os.SEEK_CUR)
Copy after login

can return the position of the file corresponding to the current fd, and will not modify the original files are affected.

7. Open the file and get fd

os.open(file, flags, mode=0777
Copy after login

The above is the detailed content of What does fd mean in python?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template