检查文件中的路径是否物理上位于硬盘驱动器中

时间:2014-10-22 09:46:00

标签: disk

您好我在该文件中有一个名为files.txt的文件,例如有文件路径: /home/ojom/123.jpg /home/ojom/oaksdokwijeqijwqe.jpg

我需要查看该文件中有数百万个路径,看看该文件中的文件是否物理上位于(存在)我的硬盘上(如果他们不将这些路径写入另一个文件)我该怎么办?去做?我可以使用什么?

2 个答案:

答案 0 :(得分:0)

您可以使用PHP解析该文件,然后浏览结果并使用file_exists进行检查。

如果每个文件路径都在新行上,则以下示例有效。

<?php

$files = array();
$handle = fopen("files.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        if(!file_exits($line)) {
          continue; // file does not exist, skip
        } else {
          $files[] = $line;
        }
    }
} else {
    die('Error opening the file');
} 
fclose($handle);

echo "These files exist:";
echo "<pre>" . print_r($files, true) . "</pre>"; // prints them as an array

您也可以使用该阵列进行进一步处理。

答案 1 :(得分:0)

以下是Python解决方案:

import os.path

files = 'c:\\test\\files.txt'
output = 'c:\\test\\filesNotExist.txt'

with open(files) as f:
    for file in f:
        if not os.path.isfile(file):
            f = open(output, 'w')
            f.write(file)
            f.close()
f.close()

此脚本扫描您的文本文件,并将不存在的文件列表写入输出文本文件。