写入文件和功能

时间:2015-12-23 18:51:58

标签: python file

我的代码类似于:

'''
This is main file
'''

path_to_file = './sample.txt'
config_file = open(path_to_file, 'a')
import functions_write as function
a = 1
if a== 1:
    config_file.write("Hello World\n")
    function_text = "Hi World\n"
    function.write_function(function_text, path_to_file)

另一个用于编写函数functions_write.py

的文件
def write_function(text_write, path_to_file):
    config_file = open(path_to_file, 'a')
    config_file.write(text_write)
    config_file.close()

#################################################################

我原以为它会按顺序写

Hello World 嗨世界

但它写作: 你好世界 Hello World

关于它为什么首先在文件中编写函数的任何想法。

谢谢

1 个答案:

答案 0 :(得分:3)

您通常不应该像文件一样有两个打开的写文件描述符。这里发生的是写入被缓冲,直到某些东西导致它们被刷新。在这种情况下,您显式调用close中的write_function,以便首先调用它(并且该写入被刷新)。第一次写入不会刷新,直到程序退出时隐式关闭其文件描述符上的close