0
Reading a file gives empty string (Python)
Here is my code: path = input('Enter file path: ') with open(path, 'a+') as file print(file.read()) while True: add = input('Enter text: ') file.write(add) print(file.read()) repeat = input('Do you want to keep writing? ') if repeat == 'yes': continue elif repeat == 'no': break I am able to create files and add text to it but reading only gives a blank string.
3 Answers
+ 5
@James:
He/she provide instruction for reading the file and print the content ( print(file.read() )
@Swapnodip Chakrabarti:
Appart the missing colon ( : ) at end of the 'with' statement line, your code is working for me ( QPython3 / android )... printing the last writen text. If you want to print all the text file, you need to seek at the file begining before printing/reading ( file.seek(0) ), as the read pointer seems to be positionned at file end, and not updated by the write operation. Maybe the behaviour is different on your device/os? If it is, you can try to use the file.tell() method wich return the position in the file, to save the position before writting, and seeking to it after ( before reading )...
0
@visph Adding file.seek(0) worked. Thanks for pointing that out.