如何用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循环写法总结)的主要内容,如果未能解决你的问题,请参考以下文章
C#如何用exists判断指定路径的文件是不是存在。求完整代码?