If I type this in Python:
open("file","r").read()
sometimes it returns the exact content of the file as a string, some other times it returns an empty string (even if the file is not empty).
Can someone explain what does this depend on?
解决方案
When you reach the end of file (EOF) , the .read method returns '', as there is no more data to read.
>>> f = open('my_file.txt')
>>> f.read() # you read the entire file
'My File has data.'
>>> f.read() # you've reached the end of the file
''
>>> f.tell() # give my current position at file
17
>>> f.seek(0) # Go back to the starting position
>>> f.read() # and read the file again
'My File has data.'
Note: If this happens at the first time you read the file, check that the file is not empty. If it's not try putting file.seek(0) before the read.