我在日志目录中有一个 abc / xyz.log 文件。如何在SystemVerilog类中查找文件是否存在。如果文件存在,我想删除该文件。
感谢。
答案 0 :(得分:1)
您可以使用$fopen
,如果它不存在则返回0。如果它存在,请$fclose
该文件,然后使用$system("shell command")
将其删除。
答案 1 :(得分:0)
通过$ system调用使用Unix实用程序“ test”(请参阅“ man test”)可以完成此任务。也可以使用stat()函数通过直接C来完成(更麻烦)。这个例子可以用来做你想做的事。在这种情况下,它会检查目录是否存在并且找不到目录,然后尝试创建它。
string report_dir;
report_dir = {SIM_ROOT,"/",PROJ_NAME,"/",TECH_PROCESS,"/",LOGNAME,"/doc/functional"};
if ($system($sformatf("/usr/bin/test -d %s", report_dir)) != 0) begin
$display("INFO: creating output directory %s", report_dir);
if($system($sformatf("mkdir -p %s", report_dir)) != 0) begin
$display("ERROR: mkdir -p %s returned an error", report_dir);
$fatal(0);
end
end
if($system($sformatf("/usr/bin/test -d %s -o -w %s", report_dir, report_dir)) != 0) begin
$display("ERROR: output directory %s does not exist or is not writeable", report_dir);
$fatal(0);
end