问题描述:
在使用 Python 中的 os.path.isdir()
函数,判断一个文件夹是否存在时,有时会遇到返回 false 的问题。例如,存在一个名为 my_folder
的文件夹,但代码执行 os.path.isdir('my_folder')
却返回 false。
该问题的原因是在文件夹的名字中可能存在空格。在使用 os.path.isdir()
函数时,如果传入的路径字符串(文件夹名)中存在空格,Python 会将该字符串看做多个参数,而不是一个参数,导致判断文件夹存在的结果出现错误。
解决方法:
1. 将路径字符串加上引号,可以避免该问题:
import os
folder_path = 'my_folder'
if os.path.isdir(folder_path):
print('文件夹存在')
else:
print('文件夹不存在')
- 使用 Python 自带的
shutil
库,在判断文件夹是否存在时,便于路径输入,也能够解决该问题。
import shutil
folder_path = 'my_folder'
if shutil.os.path.isdir(folder_path):
print('文件夹存在')
else:
print('文件夹不存在')
示例说明:
1. 文件夹名为 my_folder with space
,代码执行 os.path.isdir('my_folder with space')
返回 false;
import os
folder_path = 'my_folder with space'
if os.path.isdir(folder_path):
print('文件夹存在')
else:
print('文件夹不存在')
输出结果为:文件夹不存在
将该路径字符串加上引号,改为 os.path.isdir('my_folder with space')
即可判断文件夹是否存在。
- 文件夹名为
my_folder with space
,代码执行shutil.os.path.isdir('my_folder with space')
返回 true;
import shutil
folder_path = 'my_folder with space'
if shutil.os.path.isdir(folder_path):
print('文件夹存在')
else:
print('文件夹不存在')
输出结果为:文件夹存在
shutil
库的 os.path.isdir()
函数可以便于路径输入,能够识别存在空格的路径,避免了上述问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决os.path.isdir() 判断文件夹却返回false的问题 - Python技术站