每次执行脚本时都重写文件,但同时在python中追加

时间:2019-01-15 13:15:18

标签: python python-2.7 file file-handling with-statement

所以我有一个主要的python脚本,该脚本实际上调用了另一个带有提供参数的python脚本。我的问题是,每次循环遍历文件并写入文件时,都会在执行时追加。

如果我再次运行该脚本(提供相同的test-data文件夹),它将再次添加到该文件中。我希望每次运行脚本时都可以重写整个文件,使其为空,然后将每个文件名附加到文件中。这可能吗?

我的主脚本代码如下:

def get_config():
    parser = argparse.ArgumentParser()
    parser.add_argument("-d", "--export-date", action="store", required=True)
    args = parser.parse_args()
    return [args.export_date]

1 个答案:

答案 0 :(得分:1)

更新: 好的,现在我了解到您希望在每次运行主脚本时都创建一个新文件。在这种情况下,我将只更新generate_json函数:

def generate_json(path = get_json_location()):
    open('/path/to/your/file', 'w').close()
    for yml in yml_directory :
        print("Running export for " + yml)
        os.system('python generate_json.py -p' + path + ' -e  yaml/'  + yml + ' -d ' + date)

忘记我对您的generate_json.py中的以下行所说的内容,并在其中保留'a'参数:

with open('dates/' + current_day + '.json', 'a') as file: