Home > Article > Backend Development > Python advanced files and streams
Abstract: Python’s operations on files and streams are basically similar to other programming languages, and the statements are even more concise than other languages. In addition to these two objects, file and stream functions also target file-like objects, that is, stream functions in python that only support reading but not writing. This article introduces common file and stream operation functions and operation methods in python.
open(name[, mode[, buffering]]): where name is the path to the file,
Commonly used file modes in Python:
r: read-only mode
w: overwrite mode
a: Extended mode
b: Binary mode (usually used with other modes)
+: Added mode (usually used with other modes) modes are used at the same time)
Among them, the default value of the open function mode is read-only mode. The buffering function can be True or False, indicating whether to perform memory acceleration on the file.
read([size]): Continue to read the file content from the current position, size The parameter is optional and specifies the number of bytes to read. The default is to read everything in the file.
readline([size]): Read the next line of text. size represents the number of characters read and changed. In Python, you can use readline to read the entire line of content at once, and readlines to read the entire line of content at once.
write(string): Write special characters to the file
Note: The wirte method will clear the original file before writing it Data for existing scripts. However, in the same script, continuous calls to write will not overwrite the content written by the previous statement, but will add new content after the previous writing position.
In Linux system, you can use "$cat Infile | py_script
Source: Baidu network disk search
"//其中somefile.txt含有文本 $ cat somefile.txt | python somescript.py # somescript.pyimport sys text = sys.stdin.read() words = text.split() wordcount = len(words)print 'Wordcount:', wordcount
Three standard forms of streams in Python: sys.stdin, sys.stdout and sys.stderr.
In Python, you can get the next read character in the current file through the seek function and tell function. The location in , the sample code is as follows:
f = open(r'text\somefile.txt', 'w') f.write('01234567890123456789') f.seek(5) f.write('Hello, World!') f.close() f = open(r'text\somefile.txt')print f.read() 结果:01234Hello, World!89>>> f = open(r'text/somefile.txt')>>> f.read(3)'012'>>> f.tell()3L
Regarding the close() method, when the file is used for read-only, it is recommended to call the close() method; when the file is used When writing, the close() method must be called after writing. In order to prevent the file from being closed normally due to exceptions, the close method can be called in a finally statement. In addition, it is also a good idea to place the stream operation in a with statement. Possible operations, and there is no need to consider the problem of file closing, for example:
l = ["it is a gooday!", "Hello, world!", "Thanks"]with open(r'text/RWLines.txt', 'w') as f:for eachStr in l: f.write(eachStr + "\n")""" This is wrong because file is already closed after with clause: f.read(2) """
In addition, calling the flush method will clear the cache information in the current I/O stream. For cache processing, you can refer to the following two methods. Commonly used methods:
while True:char = f.read(1)if not char: break process(char) f.close()while True: line = f.readline()if not line: break process(line) f.close()
The above is the detailed content of Python advanced files and streams. For more information, please follow other related articles on the PHP Chinese website!