Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查字符串是否包含任何文件格式的最有效方法?_Python_Python 3.x_Automation_Python Os - Fatal编程技术网

Python 检查字符串是否包含任何文件格式的最有效方法?

Python 检查字符串是否包含任何文件格式的最有效方法?,python,python-3.x,automation,python-os,Python,Python 3.x,Automation,Python Os,我有一个包含数十万条路径的.txt文件,我只需检查每一行是文件夹还是文件。硬盘驱动器不在我身边,因此我无法使用带有os.path.isdir功能的模块操作系统。我尝试了下面的代码,但它并不完美,因为有些文件夹包含。最后 for row in files: if (row[-6:].find(".") < 0): folders_count += 1 文件路径的一个示例: 'path1/path2/certificates.pdf' 我们不可能仅仅

我有一个包含数十万条路径的.txt文件,我只需检查每一行是文件夹还是文件。硬盘驱动器不在我身边,因此我无法使用带有os.path.isdir功能的模块操作系统。我尝试了下面的代码,但它并不完美,因为有些文件夹包含。最后

for row in files:
   if (row[-6:].find(".") < 0):
       folders_count += 1
文件路径的一个示例:

'path1/path2/certificates.pdf'

我们不可能仅仅通过字符串来判断它是文件还是路径,因为扩展名只是程序选择以某种方式解码的任意可接受字符串

话虽如此,如果我有同样的问题,我会尽我所能使用以下伪代码进行估计:

在Python中创建哈希映射或字典 对于文件的每一行,读取最后一位并查看是否存在错误。最后一条路 在哈希映射上为它创建一个键,并使用一个计数器,指示您遇到可能扩展的次数。 浏览完所有列表后,您将得到一个可能扩展的集合,以及您遇到它们的数量。假设只有1次出现或任何其他低任意数的是路径,而不是扩展。
这种启发式的基础是,一个人的桌面上不太可能有很多独特的扩展,但这只是我提出的一个假设。

那么,你把这两种扩展区分开来是什么呢?扩展名是否为数字?你不能仅仅从路径本身来判断路径是文件路径还是文件夹路径。@user2357112supportsMonica:我相信你错了,这里的os.path.isfile和os.path.isdir只有一个path参数。@martineau:这需要路径和原始文件系统,我们这里没有。硬盘不在我身边,所以我不能使用带有os.path.isdir功能的模块操作系统。
'path1/path2/certificates.pdf'