Home > Article > Backend Development > python-file operations
1. File opening
Open mode:
f = open('test.txt','r')
#r, read-only mode, when the file does not exist, an error will be reported
f = open('test. txt','w')
#w, write-only mode, create the file when the file does not exist, clear the original file when the file exists
f = open('test.txt','x')
# x, a new mode in python3. When the file exists, an error will be reported. When the file does not exist, create the file and write
f = open('test.txt','a')
#a, append mode, the file will not When it exists, create the file
Encoding format:
The above opening mode, the default encoding='utf-8', when the file is garbled when opening it, it may be caused by inconsistent encoding formats
At this time, you can adjust the encoding Format to read files
f=open('test.txt','r',encoding='utf-8')
f=open('test.txt','r',encoding='gbk' )
bytes mode:
When the b parameter is used, the file will be opened in byte mode. When the b parameter is not applicable, the file will be opened in character mode
f=open('test.txt','wb' )
f.write(b'xe7xbbxbfxe8x8cxb6')
f.close()
=>Write test.txt in byte mode
n = open('test.txt','r',encoding='utf- 8')
t = n.read()
print (t)
=> There is no b parameter, the file is read in character mode, and it is displayed as green tea
2. File operation
f=open(' test.txt','r',encoding='utf-8')
f.seek()
=>Move the current pointer position to the specified position. When the mode is opened and there is no b parameter, it is as follows Character position movement, when opened with the b parameter, moves the pointer according to the byte position
f.tell()
=> Gets the byte position of the current pointer, regardless of the opening mode
f.flush()
=>Strong brushing. Generally, when writing or modifying a file, it is cached first, and then written to the file when the file is closed. When using this function, the modified content is directly written to the file
f.fileno
=>File descriptor
f.truncate()
=>Truncate all content after the current pointer position
3. File close
Method 1:
f=open('test.txt ','r',encoding='utf-8')
n = f.read()
f.close()
Method 2:
with open('test.txt','r', encoding='utf-8') as f:
n =f.read()
When using with, the close operation of the file will be automatically performed
And, using with, you can open 2 files at the same time:
with open ('test1.txt','r',encoding='utf-8') as f, open('test2.txt','w',encoding='utf-8') as h:
data = f .read()
h.write(data)