This article mainly introduces the problem of error reporting when opening a file path with the open() function of Python study notes. Now I share it with you and give it as a reference. Let's take a look together
To open a file object in file reading mode, use Python's built-in open() function and pass in the file name and identifier. The identifier 'r' means reading.
>>> f = open('D:/test.txt','r')
Attention, for students who are new to python, the open() function does have a small pit, and it is very difficult to find.
Error demonstration:
>>> f = open('D:\test.txt','r') Traceback (most recent call last): File"<ipython-input-56-6a0acaf613c9>", line 1, in <module> f =open('D:\test.txt','r') OSError: [Errno 22] Invalid argument: 'D:\test.txt'
There seems to be nothing wrong, they are exactly the same! Look carefully, the direction of the slashes is different. Why does this happen? The reason is that we directly copy the path of the file from the system. The slash symbol in the Windows system file path is '\'.
This leads to the concept of escape characters. When special characters need to be used in characters, python uses backslash '\' to escape characters, so in error cases The '\' is used as an escape, causing the interpreter to interpret the file path incorrectly.
There are two ways to correct it: first, reverse the direction of '\' to '/', which is the correct way to write the beginning of the text; second, add ' before the string containing the escape character r' means that the string is interpreted according to its original meaning without escaping. (Recommended!)
>>> f = open(r'D:\test.txt','r')
Attached:
Escape character table
Escape characters |
Description |
\(at the end of the line) |
line continuation character |
##\\ | Backslash symbol |
\' | Single quote |
Double quotes | |
Ring | |
Backspace | |
Escape | |
##empty |
\n |
Newline |
\v |
Vertical tab |
\t |
Horizontal tab character |
##\r |
Enter | ##\f |
##\oyy | |
\xyy | |
\ other | |
open() function identifier table |
r Opens a file for reading and writing. The file pointer will be placed at the beginning of the file.
rb Opens in binary format A file for reading and writing. The file pointer will be placed at the beginning of the file. w Open a file for writing only. If the file already exists, overwrite it. If the file does not exist, create it New File.wb Opens a file in binary format for writing only. If the file already exists, it is overwritten. If the file does not exist, create a new file. w Open a file for reading and writing. If the file already exists, it is overwritten. If the file does not exist, create a new file. wb Opens a file in binary format for reading and writing. If the file already exists, it is overwritten. If the file does not exist, create a new file. a Open a file for appending. If the file already exists, the file pointer will be placed at the end of the file. In other words, new content will be written after existing content. If the file does not exist, create a new file for writing. ab Opens a file in binary format for appending. If the file already exists, the file pointer will be placed at the end of the file. In other words, new content will be written after existing content. If the file does not exist, create a new file for writing. a Open a file for reading and writing. If the file already exists, the file pointer will be placed at the end of the file. The file will be opened in append mode. If the file does not exist, a new file is created for reading and writing. ab Opens a file in binary format for appending. If the file already exists, the file pointer will be placed at the end of the file. If the file does not exist, a new file is created for reading and writing. Related recommendations: Detailed explanation of python configuration and use of OpenCVThe above is the detailed content of Python study notes: open() function opens file path and reports error. For more information, please follow other related articles on the PHP Chinese website!