首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python:不会写入“w”

Python:不会写入“w”
EN

Stack Overflow用户
提问于 2018-08-16 07:22:44
回答 1查看 41关注 0票数 0

Python 2.7不会覆盖现有文件。它只会创建新的。

每个已存在的名为push.lua的文件都不会写入更改。

代码语言:javascript
运行
复制
# 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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 09:16:42

您的代码始终在当前工作目录中打开并覆盖push.lua,而不是在任何可能包含该名称的文件的子目录中。你需要做的不只是open(file, 'w'),还要做open(os.path.join(root, file), 'w')

我怀疑您试图使用path变量朝这个方向前进,但您从未真正使用path变量做任何事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51867703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档