我正在尝试编写一个简单的检查代码,该代码从给定目录中读取日志文件名(备份后),并提供有关是否创建了具有当前日期的日志的信息。代码应该且退出= 0(TRUE)或退出= 2(FALSE)。日志由名称和当前日期构成,例如。 log_2018_08_22) 我收到错误AttributeError:'str'对象没有属性'exists'。拜托,有人可以帮我吗?我还不太熟悉编码:\
import datetime
import pathlib
import sys
import os
os.path.abspath("C:\Test")
file = "backup_{:%Y_%m_%d}.log"
path = file.format(datetime.datetime.now())
if file.exists():
print("File exist")
sys.exit(0);
else:
print("File not exist")
sys.exit(2);
答案 0 :(得分:0)
当您插入行时:
file = "backup_{:%Y_%m_%d}.log"
您将file
定义为字符串。您可以使用python的open()方法来创建类似文件的对象。我会尝试以下操作:
filename = "backup_{:%Y_%m_%d}.log".format(datetime.datetime.now())
file = open(filename)
答案 1 :(得分:0)
非常感谢,但是现在我遇到了奇怪的错误。 文件=打开(文件名) FileNotFoundError:[错误2]没有这样的文件或目录:'backup_2018_08_22.log' 但我在C:\ Test中有文件backup_2018_08_22.log ... 下面是代码。还有一个问题,该脚本应该在Ubuntu上运行,并且路径略有不同。
#!/usr/bin/python
import datetime
import sys
import os
os.path.abspath("C:\Test")
filename = "backup_{:%Y_%m_%d}.log".format(datetime.datetime.now())
file = open(filename)
if file.exists():
print("File exist")
sys.exit(0);
else:
print("File not exist")
sys.exit(2);
答案 2 :(得分:0)
我已经修改了脚本,现在可以正常工作了。结案了:)
#!/usr/bin/python
from pathlib import Path
import sys
import datetime
my_file = Path("C:/Test/backup_{:%Y_%m_%d}.log".format(datetime.datetime.now()))
if my_file.is_file():
print("Found it")
sys.exit(0)
else:
print("Cant find it")
sys.exit(2)