【发布时间】:2021-03-04 18:09:17
【问题描述】:
您好,我是一个 python 菜鸟,正在尝试将一些东西放在一起。本质上,我有一个包含文件绝对路径的 ini 文件,我希望 python 测试该文件是否存在。我遇到一个错误,文件总是丢失,我认为这与我格式化路径的方式有关。我可能完全错了。
请记住,循环尚未创建,我正在尝试首先解决这个问题。但是,对于该程序的其余部分的任何建议也将不胜感激。我的意图是让它遍历所有部分,看看是否存在标记为 key 的文件。然后它在配置文件中相应地设置一个标记为状态的值。
这是我的配置文件:
[server1]
key = "C:\\test1.txt"
status = 3
[server2]
key = "M:\\test2.txt"
status = 1
这是我的程序:
#IMPORTS
import ConfigParser
import os
import os.path
#SET SECTION NUMBER
x = 1
y = 'server'+ str(x)
#DEBUG
print y
#READ CONFIG FILE
config = ConfigParser.ConfigParser()
config.readfp(open(r'server.ini'))
key = config.get((y), 'key')
#DEBUG
print (key)
#CHECK IF FILE EXISTS
if os.path.isfile((key)):
print "file is there"
config.set((y), 'status', '1')
config.write(open(r'server.ini', "w"))
else:
print "file is missing"
config.set((y), 'status', '3')
config.write(open(r'server.ini', "w"))
【问题讨论】:
-
debug
keyprint 打印出正确的东西吗?你是在 Windows 机器上吗(看起来很像,因为那些是 Windows 路径)。 -
不,即使文件存在,它也会返回文件丢失
-
等待是的.. 它打印配置文件中写入的内容.. 是的窗口
-
这些只是普通文件,是吗?不是链接、挂载或文件夹?
-
应该没什么区别,但是试试“C:/test1.txt”而不是“C:\\test1.txt”
标签: python testing for-loop path absolute