如何用Python判断指定路径下的文件是文件夹还是文件(for循环写法总结)

Posted 清风蝴蝶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python判断指定路径下的文件是文件夹还是文件(for循环写法总结)相关的知识,希望对你有一定的参考价值。

目录

前言

在for循环下如何使用python语句来判断当前路径是否为文件或者文件夹,以下提供几个思路,仅供参考,有问题欢迎来评论区一起探讨。

1.E:\\Pycharm\\pythonProject\\001目录下的文件:

2.Python语句

import os
# print(os.listdir("E:\\Pycharm\\pythonProject\\\\001"))
lst = os.listdir("E:\\Pycharm\\pythonProject\\\\001")
for i in lst:
    path = "E:\\Pycharm\\pythonProject\\\\001\\\\"+i
    if os.path.isdir(path):
        print(i, "是目录")
    if os.path.isfile("E:\\Pycharm\\pythonProject\\\\001\\%s"% i):
        print(i, "是文件")

3.运行结果

4.写法总结

1.可以直接在括号里写入路径,例如(上面代码没有该语句):
os.path.isfile(“E:\\Pycharm\\pythonProject\\001\\”+i)
(1)注意此处路径前部分可以注意到是单斜杠,而后面采用的是双斜杠,因为python3在判断时会自动将单斜杠转换成双斜杠;
(2)而前半部分我是直接复制过来的,所以是单斜杠,而001前面的单斜杠是自己加入的,属于转义字符,如果删除会导致运行报错,自行尝试
(3)最后一个双斜杠是自己加入的,输入单斜杠会报错,我还尝试输入单斜杠+空格,如下:
os.path.isfile("E:\\Pycharm\\pythonProject\\001\\ "+i)
此时空格会被算入文件名称,跟原来我们想识别的文件名已经不一样了

2.path = “E:\\Pycharm\\pythonProject\\001\\”+i
判断文件是否为文件夹或者文件,实际上是将字符串放入括号里,所以提前写入变量

3.os.path.isfile(“E:\\Pycharm\\pythonProject\\001%s”% i)

C#如何用exists判断指定路径的文件是不是存在。求完整代码?

已知文件名

首先添加引用
using System.IO;

方法里判断是否存在此文件
if (File.Exists(@"文件的绝对路径+文件名+后缀名"))


谢谢~追问

我想查一堆文件是否存在。该怎么用?

追答

先把应该存在的文件名保存到数据库中,再获取你的所有的文件,和数据库里匹配

参考技术A if(System.IO.File.Exists(path))
   MessageBox("存在");
else
   MessageBox("不存在");

参考技术B File.Exists(path); 返回的是bool类型。path是文件路径包括文件名。追问

如果是好多文件呢?

追答

这个函数参数只能是一个文件,多个文件你循环判断下吧。

追问

比如在循环的时候,十个文件名完全没有规律。
我循环十次的话。文件名那儿不就写死了。没法循环啊

追答

需要验证是否存在的那堆文件名你事先知道的吧,把这些要验证的文件名存入一个List中,然后foreach循环验证啊。
至于你说的文件名定死的问题:不给定文件名,怎么去判断是否存在,所以这些文件名判断前你就应该知道的。

以上是关于如何用Python判断指定路径下的文件是文件夹还是文件(for循环写法总结)的主要内容,如果未能解决你的问题,请参考以下文章

如何用vb.net实现:判断指定路径下是不是存在指定文件

如何用python统计一个路径下的文件总数

C#如何用exists判断指定路径的文件是不是存在。求完整代码?

如何用bat打开本身目录下的文件?

请问,如何用bat 删除指定目录下的大小超过100M的文件?比如删除D:\Templates下的超过100M的文件?

如何用PHP遍历文件数目 或删除目录下的全部文件?