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