Python脚本无法读取文件

时间:2015-04-17 04:38:48

标签: python

我有一个python脚本'main.py',它调用另一个名为'getconf.py'的python脚本,该脚本从文件'configuration.txt'中读取。这就是它的样子:

if __name__ == "__main__":
        execfile("forprolog.py") # this creates configuration.txt
        execfile("getconf.py")

当通过main.py调用getconf.py时,它将configuration.txt视为空文件,无法从中读取字符串。

这是我从文件中读取的内容:

f1 = open("configuration.txt")
conf = f1.read() #this string appears to be empty

print f1返回<open file 'D:\\DIPLOMA\\PLANNER\\Exe\\configuration.txt', mode 'r' at 0x01A080D0>

print f1.read()返回一个空字符串 我怀疑失败的原因是在调用getconf.py之前立即写入了文件。如果main.py已经存在configuration.txt那就可以了。在操作之间添加时间延迟并不能解决问题。 非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

我看到了与此相关的其他问题:

Python read() function returns empty string

尝试在阅读之前添加此行:

file.seek(0)

https://stackoverflow.com/a/16374481/4733992

如果这不能解决问题,你仍然可以逐行获取这些行并将它们添加到一个字符串中:

file = open("configuration.txt", 'r')
file_data = ""
for line in file:
    file_data += line
file.close()

答案 1 :(得分:0)

我发现了我的问题,这是因为我没有关闭我写的文件。感谢所有试图提供帮助的人。