Python 2.7不会覆盖现有文件。只会创建新的。
每个已经存在的名为push.lua的文件都不会写入更改。
# Push Replacer .py
import os
file_open = open('push_new.lua', 'r')
file_contents = file_open.read()
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
for file in files:
if (file == 'push.lua'):
with open(file, 'w') as f:
f.write(file_contents)
f.close()
file_open.close()
请不要投票,因为您不喜欢这个问题。
我做了研究,没有发布我尝试过的其他东西,因为这违反了发布多个代码块的规则。
我将其范围缩小到核心问题,并删除了所有不适合该问题的尝试。核心问题:现有文件没有被覆盖。
最终结果:这个问题是不正确的,我没有意识到。这就是为什么我问。
当确实是由于未更改目录引起的时,似乎还存在其他问题。
绝招-我不知道。为什么我问。
不要投反对票,因为您不了解其他人如何看待问题。请阅读论坛规则。
答案 0 :(得分:2)
您的代码总是打开并覆盖当前工作目录中的mounted()
,而不覆盖它可能在其中包含该名称的任何子目录中的任何子目录。您需要执行push.lua
而不是open(os.path.join(root, file), 'w')
。
我怀疑您尝试使用open(file, 'w')
变量来朝这个方向发展,但实际上您从未真正将path
变量用于任何事情。