Python文件读取问题

1 投票
3 回答
2126 浏览
提问于 2025-04-15 13:07
file_read = open("/var/www/rajaneesh/file/_config.php", "r")
        contents = file_read.read()
        print contents
        file_read.close()

输出是空的,但那个文件里所有的内容都在。请帮我看看怎么在 __conifg.php 文件中读取和替换一个字符串。

3 个回答

0

你有没有可能没有权限去读取你想打开的文件呢?

2

我把你的代码复制到我自己的系统上,并且改了文件名,让它能在我的系统上运行。另外,我把缩进调整了一下(把所有内容都放在同一层级),和你问题里显示的格式不一样。做了这些修改后,代码运行得很好。

所以,我觉得可能是你系统上有什么特别的情况,我们在这里可能不太容易解决。

4

通常,当遇到这类问题时,启动交互式命令行来分析所有命令是非常有用的。

比如,可能是文件不存在(可以参考freiksenet的评论),或者你没有权限访问它,或者它被其他进程锁定了。
如果你在某个系统上执行脚本(比如一个网络服务器,路径可能暗示了这一点),异常信息可能会被记录到日志中,或者被系统中的其他组件吞掉。
相反,如果你在交互式命令行中执行它,你可以立即看到问题出在哪里,并且可以检查对象(通过使用help()dir()或者模块inspect)。顺便说一下,这也是开发脚本的好方法——只需在命令行中尝试一下概念,然后再把它们组合在一起。

在这里,我强烈建议你使用IPython。它是标准命令行的升级版,提供了强大的自我检查工具(只需按下Tab键,或者在对象后面加个问号)。不幸的是,最近几周这个网站经常无法访问,但你很有可能已经在你的系统上安装了它。

撰写回答