Home  >  Article  >  Backend Development  >  Python study notes: open() function opens file path and reports error

Python study notes: open() function opens file path and reports error

不言
不言Original
2018-04-28 10:14:373125browse

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(&#39;D:\test.txt&#39;,&#39;r&#39;) 
 
OSError: [Errno 22] Invalid argument: &#39;D:\test.txt&#39;

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&#39;D:\test.txt&#39;,&#39;r&#39;)

Attached:

Escape character table


##\"Double quotes\aRing##\b\e\ 000\n\v\tPage change Octal number, the character represented by yy, for example: \o12 represents line break Hexadecimal number, the character represented by yy, for example: \x0a represents line breakOther characters are output in normal formatr Opens a file for reading only. The file pointer will be placed at the beginning of the file. This is the default mode.

Escape characters

Description

\(at the end of the line)

line continuation character

##\\

Backslash symbol

\'

Single quote

Backspace

Escape

##empty

Newline

Vertical tab

Horizontal tab character

##\r
Enter

##\f

##\oyy

\xyy

\ other

open() function identifier table

rb Opens a file in binary format for reading only. file The pointer will be placed at the beginning of the file. This is the default mode.

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 OpenCV


##

The 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!

Statement:
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