首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

makedirs无法创建目录,因为它包含一个问号

makedirs是Python中的一个函数,用于递归创建目录。它的作用是在指定的路径下创建多级目录,如果目录已经存在,则不会报错。

然而,当路径中包含问号(?)时,makedirs函数可能无法创建目录。这是因为问号在某些操作系统中被视为特殊字符,用于匹配文件名中的任意一个字符。因此,当路径中包含问号时,操作系统可能会将其解释为通配符,而不是作为普通字符处理。

为了解决这个问题,可以使用os.path.normpath函数来规范化路径,将问号转换为普通字符。示例代码如下:

代码语言:txt
复制
import os

def create_directory(path):
    normalized_path = os.path.normpath(path)
    os.makedirs(normalized_path, exist_ok=True)

# 调用示例
create_directory('/path/with/question?mark')

在上述示例中,我们首先使用os.path.normpath函数将路径规范化,然后再调用os.makedirs函数创建目录。exist_ok参数设置为True,表示如果目录已经存在,则不会抛出异常。

对于云计算领域,腾讯云提供了丰富的产品和服务,可以帮助开发者构建和管理基于云计算的应用。具体推荐的腾讯云产品和产品介绍链接地址可以根据实际需求进行选择和提供。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python爬虫学习教程,爬取网易云音乐!

Python版本 Python3.5,推荐使用Anaconda 这个科学计算版本,主要是因为自带一个包管理工具,可以解决有些包安装错误的问题。...(path) if not isExists: print('创建名字叫做', path, '的文件夹') os.makedirs(path...根据上图的网页结构可以看出,所有的专辑信息都在ul 标签里面,每一个专辑在一个li 标签里。li 标签中包含了图片url、专辑名字、以及专辑时间。 抓取其中的内容就好了。...#找到问号的位置 album_img_url = album_img[:end_pos] #截取问号之前的内容 图片命名逻辑:专辑时间 + 专辑名。 专辑名可能有一些特殊字符,需要替换掉!...(path) if not isExists: print('创建名字叫做', path, '的文件夹') os.makedirs(path

91441
  • 你应该知道的10个Python文件系统方法

    shutil模块还包含高级文件操作。一般而言,您可以使用os创建目录,但使用shutil移动和复制它们。 文件系统有点像一个房子。假设你在大扫除,需要把一箱箱的笔记本从一个房间搬到另一个房间。 ?.../Linux系统的ls命令 3.os.walk (“starting_directory_path”) 返回一个生成器,其中包含当前目录和所有子目录中的目录和文件的名称和路径信息 os.walk()创建一个生成器...通过指定的起始目录中的目录工作。...6. os.makedirs("dir1/dir2") 等价于macOS/Linux系统的mkdir -p命令 os.makedirs()创建目录。mkdir()方法也创建目录,但它不创建中间目录。...shutil.copy2()是一个很好的选择,因为试图尽可能多地保留源文件的元数据。

    75710

    文件&目录小技巧 | Linux后门系列

    一个 dot 代表当前目录,两个 dot 代表上层目录 ? 在 Linux 中 . 和 .. 目录是默认的,代表着本级和上级 ? 所以我们在创建 . 和 .....可以看到,问号是可以放在目录里面的,但是呢,在 ls 下没有隐藏效果 那问号是否可以和其他字符组合呢? ? 可以看到的是问号是可以和其他符号组合的,但是我们创建 .?....冲突了,那就说明问号是有特殊含义的,是什么呢? 问号可以匹配任意一个字符,与 * 不同的是,只能匹配一个字符 那问题来了,我新建一个只有一个字符的目录, ls ? 会显示什么呢? ?...这里就有一个问题了? 如果web目录包含 # 号,那么请求结果会怎么样呢?会被截断吗? 大家感兴趣可以去试试,我是没时间整了,等以后的吧。 % 在运算式中,用来表示 “除法” ?...一个 dot 代表当前目录,两个 dot 代表上层目录 ? 在 Linux 中 . 和 .. 目录是默认的目录,所以是无法创建为文件的,三个点就不受限制了 ? ? 创建几乎不受限制 ?

    2.7K30

    Web应用程序防火墙(WAF)bypass技术讨论(一)

    比方说,你攻击的目标处于WAF的保护下,但是这个WAF有一个规则,一旦GET参数的值内或POST请求的body里包含/etc/passwd或/bin/ls,所有的请求都会被阻止。 如果你试图请求/?...在上面的屏幕截图中可以看到有3个错误“/bin/cat *:是一个目录 ”。 发生这种情况是因为/???/??...因为星号(*)被广泛用于注释语法(类似/ *嘿,我是注释* /),许多WAF阻止它以避免SQL注入…类似于UNION+SELECT+1,2,3/ * 还可以使用echo来枚举文件和目录,echo命令可以使用通配符枚举文件系统上的文件和目录...创建世界上最易受攻击的PHP脚本并尝试所有可能的技术! 在上面的屏幕截图中,左上方的窗格中有一个执行命令的PHP脚本。 <?php 右侧窗格是最有趣的,因为显示相同的请求,但使用“问号”作为通配符。...恕我直言,你不应该根据阻止的请求判断一个WAF是否强大,而且Sucuri的安全性并不低,因为WAF也无法完全保护一个故意让易受攻击的网站。

    2.9K40

    你应该知道的10种Python文件系统方法

    该shutil模块还包含了高层次的文件操作。出于某种原因,您使用操作系统创建目录,但移动并使用shutil复制它们。去搞清楚。?。...()- 创建一个路径供以后使用 - 没有短的CLI等价物 os.makedirs("dir1/dir2") - 制作目录 - mkdir -ps hutil.copy2("source_file_path...那一个也很简单。? os.walk("my_start_directory") os.walk()创建一个生成器,可以返回有关当前目录和子目录的信息。通过指定的起始目录中的目录工作。...os.makedirs("dir1/dir2") os.makedirs()制作目录。该mkdir()方法也可以创建目录,但它不会创建中间目录。所以我建议你使用os.makedirs()。...shutil.copy2()是一个很好的选择,因为试图尽可能多地保留源文件的元数据。有关更多讨论,请参阅此文章。

    1.2K10

    你应该知道的10种Python文件系统方法

    该shutil模块还包含了高层次的文件操作。出于某种原因,您使用操作系统创建目录,但移动并使用shutil复制它们。去搞清楚。?。...()- 创建一个路径供以后使用 - 没有短的CLI等价物 os.makedirs("dir1/dir2") - 制作目录 - mkdir -ps hutil.copy2("source_file_path...那一个也很简单。? os.walk("my_start_directory") os.walk()创建一个生成器,可以返回有关当前目录和子目录的信息。通过指定的起始目录中的目录工作。...os.makedirs("dir1/dir2") os.makedirs()制作目录。该mkdir()方法也可以创建目录,但它不会创建中间目录。所以我建议你使用os.makedirs()。...shutil.copy2()是一个很好的选择,因为试图尽可能多地保留源文件的元数据。有关更多讨论,请参阅此文章。 ?

    1.3K30

    Python处理文件系统Os和Shutil

    ”):返回一个生成器(generator),该生成器包含当前目录和所有子目录中的文件名称及路径信息;→没有完全等价的shell命令,不过ls -R 命令提供了子目录名称和子目录中的文件名称 二、更改信息...os.makedirs(“dir1 / dir2”):创建目录→ mkdir - p shutil.copy2(“source_file_path”,“destination_directory_path...以字符串列表形式返回当前目录 os.walk("my_start_directory") 创建一个生成器,用于返回关于当前目录和子目录的信息。在起始指定的目录中有效。...os.makedirs("dir1/dir2") os.makedirs()能够生成目录。mkdir()方法也可以生成目录,但它不生成中间目录。所以建议使用os.makedirs()。...shutil.copy2()的优势在于,尽可能地保留了源文件的元数据。 使用shutil.move()更改文件的位置。使用 copy2 作为后台参数默认值。

    1.4K10

    Python创建目录文件夹

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录创建。...主要涉及到三个函数 1、os.path.exists(path) 判断一个目录是否存在 2、os.makedirs(path) 多层创建目录 3、os.mkdir(path) 创建目录 直接上代码 import...os.mkdir(path)函数,而是使用了多层创建目录函数os.makedirs(path)。...这两个函数之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建目录。...比如:例子中我要创建目录web位于D盘的qttc目录下,然而我D盘下没有qttc父目录,如果使用os.mkdir(path)函数就会提示我目标路径不存在,但使用os.makedirs(path)会自动帮我创建目录

    3.7K20

    「Python」读写文件

    相对路径:相对于程序的当前工作目录。 用 os.makedirs() 创建新文件夹 >>>import os >>>os.makedirs('....为了确保完整路径名存在,如果中间文件夹不存在,os.makedirs()将创建所有必要的中间文件夹。 os.path 模块 os.path 模块包含了许多与文件名和文件路径相关的有用函数。...(即返回目录名称) os.path.basename(path) 将返回一个字符串,包含 path 参数中最后一个斜杠之后的所有内容。...(即返回基本名称) os.path.split(path) 同时返回一个路径的目录名称和基本名称,获得包含这两个字符串的元组。...characters.py 文件,里面只包含 一行代码 characters = {'one': 'a', 'two': 'b'} 创建一个 .py 文件的好处在于,.py 文件是一个文本文件,任何人都可以使用简单的文本编辑器读取和修改该文件的内容

    36020

    Python创建目录文件夹

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录创建。...主要涉及到三个函数1、os.path.exists(path) 判断一个目录是否存在2、os.makedirs(path) 多层创建目录3、os.mkdir(path) 创建目录DEMO直接上代码def..."# 调用函数mkdir(mkpath) 以上是我写好的一个函数,只需要传入你要创建目录的全路径即可。...这两个函数之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建目录。...比如:例子中我要创建目录web位于D盘的qttc目录下,然而我D盘下没有qttc父目录,如果使用os.mkdir(path)函数就会提示我目标路径不存在,但使用os.makedirs(path)会自动帮我创建目录

    3.8K51

    如何在 Python 中只删除空文件夹?

    对于遍历过程中遇到的每个目录,我们可以使用 os.listdir() 获取目录包含的文件和子目录的列表。...现在让我们使用它创建一个 delete_empty_folders() 函数。...对于遍历过程中遇到的每个目录,os.walk() 返回一个元组,其中包含目录的路径(dirpath)、目录中子目录的名称列表(dirnames)以及目录中文件名称的列表(文件名)。...使用此代码,我们可以从给定的根目录开始识别和删除空目录。 例 在对整个文件系统运行 delete_empty_folders() 函数之前,让我们在较小的目录子集上对其进行测试,以确保正常工作。...代码创建这个目录结构,然后在 test_folder 目录上调用 delete_empty_folders() 函数 - import os # Create test folder structure

    47220

    不足100行Python代码,一键下载UNPKG项目文件!UNPKG一键下载代码解析

    看了下的代码,不足100行,简单但是有条理性和逻辑性,很适合刚刚入门编程的朋友进行学习和参考。 因为这些朋友多是对基础知识有一定的了解,但是却不知道从何开始编写程序和代码。...folders) else: files.append(path) return {"files": files, "folders": folders} # 创建目录...if not os.path.exists(path): print("创建目录", path) os.makedirs(path) # 下载文件 def...; getPaths():接受版本号作为参数,用于获取模块的目录结构; makeDirs():用于创建存放下载文件的目录; download():接受url参数,用于下载指定的文件。...makeDirs() makeDirs()函数用于在本地创建目录,通过os模块的path.exists()方法来判断本地路径是否存在,通过os模块的makedirs()方法创建一个文件夹。

    1.7K20

    基础必备 | Python处理文件系统的10种方法

    其中,os模块主要用于与操作系统交互,shutil模块则包含一些针对文件的操作。一般情况下,我们使用os创建目录,使用shutil移动和复制文件。..."):返回一个生成器(generator),该生成器包含当前目录和所有子目录中的文件名称及路径信息;→没有完全等价的shell命令,不过 ls -R 命令提供了子目录名称和子目录中的文件名称 二、更改信息...os.makedirs(“dir1 / dir2”):创建目录→ mkdir - p shutil.copy2("source_file_path","destination_directory_path...os.makedirs("dir1/dir2") os.makedirs()能够生成目录。mkdir()方法也可以生成目录,但它不生成中间目录。所以建议使用os.makedirs()。...()——创建路径供后续使用——没有等效CLI os.makedirs (“dir1 / dir2”)——创建目录——mkdir - p shutil.copy2("source_file_path","

    1.7K20

    如何用Python智能批量压缩图片?

    许多情况下,只是单纯因为网络拥塞。只要你本着愚公移山的精神,往复重新粘贴,总会好的。 但是微信公众平台是个例外。 你时常会遇到这种情况——就是那两张图片,死活也无法正常传上去。...正式进行压缩和输出之前,我们需要建立输出目录。虽然前面我们设定了,这个子目录叫做output,但是实际的演示目录里,它还尚未创建。 我们先用os.path.exists()函数判定这个目录是否存在。...当判定为不存在时,我们采用os.makedirs()函数来创建。...我们打开样例目录看看。 ? 可以看到,output子目录已经自动生成。里面有一张图片。名称依然是cat.png。的大小已经变成了836KB。我们打开,看看显示是否正确。 ? 依然是这张可爱的猫咪。...; 如何用os函数库检查文件或目录是否存在,创建目录,以及获取文件尺寸。

    1.8K20

    基础必备 | Python处理文件系统的10种方法

    其中,os模块主要用于与操作系统交互,shutil模块则包含一些针对文件的操作。一般情况下,我们使用os创建目录,使用shutil移动和复制文件。..."):返回一个生成器(generator),该生成器包含当前目录和所有子目录中的文件名称及路径信息;→没有完全等价的shell命令,不过 ls -R 命令提供了子目录名称和子目录中的文件名称 二、更改信息...os.makedirs(“dir1 / dir2”):创建目录→ mkdir - p shutil.copy2("source_file_path","destination_directory_path...os.makedirs("dir1/dir2") os.makedirs()能够生成目录。mkdir()方法也可以生成目录,但它不生成中间目录。所以建议使用os.makedirs()。...()——创建路径供后续使用——没有等效CLI os.makedirs (“dir1 / dir2”)——创建目录——mkdir - p shutil.copy2("source_file_path","

    1.8K20

    课时30:文件系统:介绍一个高大上的东西

    表示上一级目录) mkdir(path)        创建单层目录,如该目录已存在抛出异常 makedirs(path)       递归创建多层目录,如该目录已存在抛出异常,注意:'E:\...     运行系统的shell命令 walk(top)          遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])【具体实现方案请看:第30讲课后作业...File "", line 1, in os.mkdir("test") FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件...: 'test' 5、makedirs(path) makedirs()函数可以用于创建多层目录: >>> os.makedirs(r"....该函数的作用是遍历top参数指定路径下的所有子目录,并将结果返回一个三元组(路径,[包含目录],[包含文件])。

    55320

    文件系统(第9章)

    模块其实是对你包含所定义函数的文件,可以进行引入 OS模块 什么是OS模块,OS模块就是operating system的缩写,意思是操作系统。...查看当前目录下有哪些文件与子目录,它可以帮助咱们列举出来。path的参数用于指定列举的目录,默认参数是'.',代表当前的目录也可以使用'..'代表上一层目录,迷糊吧,看例子就明白了 ?...也就是说,listdir()可以查看任意的目录。那么我们创建一个文件夹,怎么做 mkdir(path) ? 当然要是重复了,会抛出异常 ? 会受到,鄙夷的。...makedirs()与上面的mkdir很相似,看看这个makedirs()像不像make dir是不是有点好记了,但是不要搞混哦,makedirs用于创建多层目录。 ? 这样 ?...walk(top) 遍历子目录返回一个三元组(路径。【包含目录】。【包含文件】) ?

    43010

    python第二十七课——os模块

    ()) print(os.listdir()) 2、os.mkdir(path):创建单级目录,path既可以是绝对路径也可以是相对路径;【注意】如果目录已经存在,报错 os.makedirs(path...):创建多级目录,path既可以是绝对路径也可以是相对路径;【注意】如果目录已经存在,报错 如果路径下已经存在相同名字的目录,还要点击创建,会报错:FileExistsError os.mkdir(r'D...:\python\day\hello') os.mkdir(r'aa') 对于mkdir()而言:只能一次创建一层目录,不能级联创建目录,会报错:FileNotFoundError os.mkdir('...bb\cc\dd') os.makedirs('bb\cc\dd') makedirs()函数能不能只创建单级目录?...可以的 os.makedirs('bb\cc\dd') 删除目录&文件: 【注意】:删除操作有风险,使用需谨慎,因为不走回收站...

    31910
    领券