Python os.chmod() Method
-
Syntax of the
os.chmod()
Method -
Example Codes: Working With the
os.chmod()
Method in Python -
Example Codes: Set Permission to an Octal Number Using the
os.chmod()
Method in Python
Python os.chmod()
method is an efficient way of changing the permission of a file/directory to the specified mode entered as a parameter.
Syntax of the os.chmod()
Method
os.chmod(path address, mode)
Parameters
path address |
It is a file system path address object or a symlink. The object can either be str or bytes. |
mode |
The mode can take one of the following values, or if you want a combination of some modes, you can use bitwise OR . |
1. stat.S_ISUID : This mode, when executed, sets the path’s mode to the user ID. |
|
2. stat.S_ISGID : This mode, when executed, sets the path’s mode to the group ID. |
|
3. stat.S_ISVTX : When set on a directory, this mode only allows the file owner to rename or delete it. |
|
4. stat.S_IRWXU : This mode allows the file owner to read, write and execute the file. |
|
5. stat.S_IREAD : This mode only allows the file owner to read it. It is synonymous with stat.s_IRUSR . |
|
6. stat.S_IWRITE : This mode only allows the file owner to write it. It is synonymous with stat.s_IWUSR . |
|
7. stat.S_IEXEC : This mode only allows the file owner to execute it. It is synonymous with stat.s_IXUSR . |
|
8. stat.S_IRUSR : This mode only allows the file owner to read it. It is synonymous with stat.s_IREAD. |
|
9. stat.S_IWUSR : This mode only allows the file owner to write it. It is synonymous with stat.s_IWRITE . |
|
10. stat.S_IXUSR : This mode only allows the file owner to execute it. It is synonymous with stat.s_IEXEC . |
|
11. stat.S_IRWXG : This mode allows a group of users to read, write and execute the file. |
|
12. stat.S_IRGRP : This mode only allows a group of users to read it. |
|
13. stat.S_IWGRP : This mode only allows a group of users to write it. |
|
14. stat.S_IXGRP : This mode only allows a group of users to execute it. |
|
15. stat.S_IRWXO : This mode allows special access to others, exclusive to the group, to read, write and execute the file. |
|
16. stat.S_IROTH : This mode allows special access to others, exclusive to the group, to read it only. |
|
17. stat.S_IWOTH : This mode allows special access to others, exclusive to the group, to write it only. |
|
18. stat.S_IXOTH : This mode allows special access to others, exclusive to the group, to execute it. |
|
19. stat.S_ENFMT : This mode acts as file locking enforcement. |
Return
In the execution process, this method does not return any value.
Example Codes: Working With the os.chmod()
Method in Python
import os
import sys
import stat
os.chmod("/home/file.txt", stat.S_IREAD)
print("Now, this file can be read only by the owner.")
os.chmod("/home/file.txt", stat.S_IRGRP)
print("Now, this file can be read only by a group of users.")
os.chmod("/home/file.txt", stat.S_IROTH)
print("The file access has changed; now it can be read by others.")
Output:
Now, this file can be read only by the owner.
Now, this file can be read only by a group of users.
The file access has changed; now it can be read by others.
This method can work on a specified file descriptor, an absolute or a relative path, and it might work on a symlink on some systems.
Example Codes: Set Permission to an Octal Number Using the os.chmod()
Method in Python
import os
file_name = "file.txt"
os.chmod(file_name, 0o777)
stat = os.stat(file_name)
mode = oct(stat.st_mode)[-3:]
print(mode)
Output:
777
When using the os.chmod()
method, write 0o
before the permissions to set because they represent an octal integer. In the above code, the file’s permission is set to 777
, meaning anyone can do anything they want with the file.
Find more numeric notations here
.
Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.
LinkedIn