The function of the os module: the os module provides a very rich way to handle files and directories (manage and maintain directories and files).
The function of the os.path module: it is mainly used to obtain the attributes of the file (the (physical address) of the management path).
Xiao Sheng summarized some common attributes and functions.
1.name: returns the kernel version of the operating system currently in use; output nt under windows system environment
2.environ: returns all environment variables and their contents in the current operating system, and stores and manages them in the form of key value pairs (stored in environ)
3.environ.get('environment variable name '): get the content of an environment variable and return it as a string
1 print(os.name) 2 3 print(os.environ) 4 5 print(os.environ.get('path'))
Path problem (concept):
Absolute path: called completion path; a string of physical addresses (string type), characteristics: with drive letter.
Relative path: the concept of relative. Take a certain position as a reference to get the relevant path, which is understood as the relative path. Differentiation: without the drive letter function.
1.getcwd(): returns the absolute path (describing the physical address in string format) of the file currently being executed
2.listdir(; path): save the subdirectory name and file name under the path path to the list as string type, and return [note] without indirect sub content
3.mkdir(path): create a single-layer directory instead of cascading directories
4.makedirs(path): create multi-level directory or single-level directory
[note] if a directory with the same name already exists in the path, continue to click create and an error will be reported: FileExistsError. For mkdir(): only one level of directories can be created at a time, and directories cannot be created in batch (cascade); an error will be reported: FileNotFoundError
5.rmdir(path): delete single-layer directory, can't cascade delete directory
6. Removediers (path): delete multi-level directory or single level directory
7.remove(path): delete files
8.rename(src,dest): Rename directory or file
[note]: there are risks in deleting operation, so you need to be careful when using it!!! Because I don't go to the recycle bin
1 print(os.getcwd()) # Get current directory 2 3 print(os.listdir(r'C:\Users\admin')) # List the subdirectory name and file name under the current directory 4 5 os.mkdir(r'D:\python\project\hello1') # Create directory 6 7 os.mkdir(r'aa') # Create directory aa 8 9 os.mkdir(r'bb\cc\dd') # display FileNotFoundError Error type, cannot cascade to create directory 10 11 os.makedirs(r'bb\cc\dd') # Create cascading directory 12 13 os.rmdir(r'D:\python\project\hello1') # delete hello1 Catalog 14 15 os.rmdir(r'aa') # delete aa Catalog 16 17 os.rmdir(r'bb\cc\dd\ee') # delete ee Catalog 18 19 os.removedirs(r'bb\cc\dd') # Cascading deletion bb\cc\dd 20 21 os.removedirs(r'D:\python\project\hello') # Deleting single layer hello 22 23 os.remove(r'abc.html') # Delete files 24 25 os.rename(r'aa.html',r'bb.html') # Under the relative path, the file name is aa.html Change to bb.html 26 27 os.rename(r'D:\python\project\note.txt',r'D:\python\project\note.txt') # Under absolute path, put the file name note Change to notes
Use of path module under os module:
1.join(first,second): splice the two parts (string data) of first and second to get a new string (describing the physical address), (not paying attention to whether the path actually exists)
2.getsize(path): returns the amount of bytes contained in the path path (locked to the file level)
3.exists(path): judge whether the physical path described by path really exists; if it exists, return True; otherwise, return False
4.isfile(path): judge whether the physical path described by path is a file; if it exists, return True; otherwise, return False (including the role of exists)
5.isdir(path): judge whether the physical path described by path is a directory; if it exists, return True; otherwise, return False (including the role of exists)
6.dirname(path): returns the part (string) before the last \ in the path, and finally returns in the form of string
7.basename(path): returns the part (string) following the last \ in the path, and finally returns in the form of a string
8.split(path): put the part (string) before the last \ in path variable into the first element bit of Yuanzu; put the part (string) after the last \ in path variable into the second element bit of Yuanzu; finally return the Yuanzu object
9.splitext(path): put the last. Preceding part (string) of path variable into the first element bit of Yuanzu; put the last. And the following part (string) of path variable into the second element bit of Yuanzu; finally return the Yuanzu object
10.realpath(path): returns the real path of path
11.abspath(path): returns the absolute path
[note] what os.path.abspath() gets is not the real path. Its function is to add the absolute path of the current working directory before the given file name. It doesn't care whether the file corresponding to the given file name really exists (because you may want to create a file)
1 import os
2 3 print(os.path.join(r'D:\python\project','1.txt')) # Synthesize directory and filename into one path D:\python\project\1.txt 4 5 print(os.path.getsize(r'D:\python\project\123.png')) # 54 6 print(os.path.getsize(r'D:\python\project')) # 24576 7 8 path = r'D:\python\project\note.txt' 9 10 print(os.path.exists(path)) 11 print(os.path.isfile(path)) 12 print(os.path.isdir(path)) 13 14 str1 = os.path.dirname(path) 15 print(str1,type(str1)) # Return to directory path D:\python\project <class 'str'> 16 17 str2 = os.path.basename(path) 18 print(str2,type(str2)) # Return file name note.txt <class 'str'> 19 20 tp1 = os.path.split(path) 21 print(tp1,type(tp1)) # Split file name and path ('D:\\python\\project','note.txt') <class 'tuple'> 22 23 tp2 = os.path.splitext(path) 24 print(tp2,type(tp2)) # ('D:\\python\\project\\note','.txt') <class 'tuple'>
1 import os 2 3 os.path.realpath("b/1.txt") # '/root/a/1.txt' 4 5 # Hypothesis 1.jpg The path is D:\images\1.jpg, among D: \code Is my current working directory 6 file='1.jpg' 7 print(os.path.abspath(file)) # output D:\code\img1.jpg