首页 > 编程语言 >python 检查一个字符串路径(该路径实际不存在) 是文件路径还是文件夹路径

python 检查一个字符串路径(该路径实际不存在) 是文件路径还是文件夹路径

时间:2023-11-14 12:05:01浏览次数:24  
标签:python 路径 文件夹 file Probably print path os

import os

def guess_path_type(path):
    base_name = os.path.basename(path)
    if '.' in base_name:
        return "Probably a file path"
    else:
        return "Probably a directory path"

# 测试
print(guess_path_type('/path/to/directory'))  # 将打印 "Probably a directory path"
print(guess_path_type('/path/to/file.txt'))  # 将打印 "Probably a file path"

在 Python 中,如果一个路径实际上不存在,那么我们无法直接通过 os.path 模块的 isfile() 或 isdir() 函数来判断这个路径是文件路径还是文件夹路径,因为这两个函数都会返回 False

然而,你可以通过检查路径字符串的最后一部分是否包含一个扩展名来猜测它可能是一个文件路径。这种方法并不完全准确,因为有些文件可能没有扩展名,而有些目录的名字可能包含.


解决

def check_path(path=path_folder):
    extension = os.path.splitext(path)[1]
    # 如果不存在(不可使用isfile, isdir)
    if not os.path.exists(path):
        # 如果是文件夹
        if extension == "":
            print(path, "is a directory")
            os.mkdir(path)
            print(path, "has been created")
        # 如果是文件
        else:
            print(path, "is a file")
            # w 清空并重写; write 不能为空
            # 如果父级目录不存在,则报错
            try:
                with open(path, "w") as f:
                    f.write("")
            except:
                print("cannot create the file", path)
    else:
        print(path, "is already exist")

标签:python,路径,文件夹,file,Probably,print,path,os
From: https://blog.51cto.com/u_16055028/8364920

相关文章

  • 1822_使用python内置的库进行日期序列的生成
    使用python的内置的库进行日期序列的生成用到的库介绍datetime实现这样的功能其实只需要这一个库就够了,但是网络上找到的例程很多都额外增加了对time库的引用。只能说,这样不会出现错误,但是这样肯定会有一些计算资源上的消耗。#!/usr/bin/python3importdatetimestart_date=......
  • Mac 复制文件名目录路径
    Mac快速复制文件路径在Mac电脑上,我们经常需要复制文件的路径,其实,Mac系统提供了快速复制文件路径的方法。下面我们来详细介绍。方法一:使用菜单栏首先,打开Finder,然后选择你要复制路径的文件或文件夹,接着按住“Option”键并点击右键,你会看到“复制‘文件名’的路径”选项,点击它即......
  • 盘点Python最常用的第三方库!
    Python是一门非常流行的编程语言,简单、强大、灵活、可移植等,凭借诸多优点在各个领域得到了广泛的应用。而且为了能够给大家提供最大帮助,Python内置了很多第三方库,那么Python有哪些常用的第三方库?本篇挑选了一些常用的第三方库,下面一起来看看吧。1、数据分析①Numpy:Num......
  • 函数:Python中的瑞士军刀
    在Python编程语言中,函数是实现代码复用和模块化设计的重要工具。函数允许我们将一段可重用的代码块封装起来,并在需要时进行调用。这种抽象方式使代码更易于理解和维护。在这篇文章中,我们将深入探讨Python中的函数,并通过详细的代码案例来展示其用途和用法。函数的定义在Python中,函数......
  • Python selenium Chrome正在受到自动软件的控制 disable-infobars无效 的解决方法
    问题解决前两天更新了google浏览器版本,今天运行以前的脚本,发现options一个参数的配置不生效了。运行了几次都发现该参数没有生效,也检查了自己的代码参数,没有写错,于是就有了这一波“网中寻求答案”的操作。苦寻不易,还真就找到了答案,详细可参见该地址的答案:https://help.applitoo......
  • python tab vim
    1.unindentdoesnotmatchanyouterindentationlevel原因是文件中包含了tab和空格的混合解决方法:全部使用空格。将tabstop和shiftwidth设置成相同的值,如4,并设置expandtab。这样新增的缩进会用空格,你按下tab键,出来的也全是空格。如果文件里本来就有tab的话,可以再用......
  • python连接数据库导入excel查询结果
    下面是主要代码部分 #安装包pymysql,excel导入模块importpymysql#安装sql连接库模块importpandasaspd#安装excel导入模块#连接数据库conn=pymysql.connect(  host='cs-cn',#连接地址  port=4037,            #连接端口  ......
  • Python搞怪UI设计
    importtkinterastkfromtkinterimportmessageboxfromrandomimportrandomwindow=tk.Tk()window.title('请我吃饭!!')window.geometry('350x300+100+100')window.resizable(False,False)window.iconbitmap(bitmap=r"C:\Users\Download......
  • 在`tomlkit`库中,`parse`函数用于将TOML格式的字符串解析为一个`Document`对象¹。以下
    #parse与节点(.)importtomlkit#TOML格式的字符串toml_str="""[tool.poetry]name="my-package"version="0.1.0"description="Mypackagedescription"authors=["Me<[email protected]>"]"&qu......
  • 解决only one element tensors can be converted to Python scalars
    解决"onlyoneelementtensorscanbeconvertedtoPythonscalars"错误当我们使用PyTorch进行深度学习任务时,有时会遇到以下错误信息:"onlyoneelementtensorscanbeconvertedtoPythonscalars"。这个错误通常发生在我们尝试将一个只包含一个元素的张量转换为Python标量(s......