Azizbek Khamdamov wrote at 2023-2-19 19:03 +0500: > ... >Example 2 (weird behaviour) > >file = open("D:\Programming\Python\working_with_files\cities.txt", >'r+') ## contains list cities ># the following code DOES NOT add new record TO THE BEGINNING of the >file IF FOLLOWED BY readline() and readlines()# Expected behaviour: >new content should be added to the beginning of the file (as in >Example 1) >file.write("new city\n") > >file.readlines() >file.close() > >I could not find anything in documentation to explain this strange >behaviour. Why is this happening?
The effect of "r+" (and friends) is specified by the C standard. The Linux doc (of `fopen`) tells us that ANSI C requires that a file positioning command (e.g. `seek`) must intervene between input and output operations. Your example above violates this condition. Therefore, weird behavior is to be expected. -- https://mail.python.org/mailman/listinfo/python-list