我正在尝试编写一个简单的检查代码,该代码从给定目录中读取日志文件名(备份后(,并提供信息是否创建了具有当前日期的日志。代码应该和退出 = 0 (TRUE( 或 exit = 2 (FALSE(。日志是根据名称和当前日期构建的,例如。log_2018_08_22( 我收到错误属性错误:"str"对象没有属性"存在"。拜托,有人可以帮我吗?我还不太熟悉编码:\
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);
当你输入行时:
file = "backup_{:%Y_%m_%d}.log"
您将file
定义为字符串。你可以使用 python 的 open(( 方法创建一个类似文件的对象。我会尝试如下方法:
filename = "backup_{:%Y_%m_%d}.log".format(datetime.datetime.now())
file = open(filename)
谢谢你成功了,但现在我遇到了奇怪的错误。文件 = 打开(文件名( FileNotFoundError: [Errno 2] 没有这样的文件或目录: 'backup_2018_08_22.log'但我backup_2018_08_22.log在 C:\Test... 下面是代码。这个脚本应该在 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);
我修改了脚本,现在它可以工作了。结案:)
#!/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)