gpt4 book ai didi

python - 确定字符串输入是否可以是 Python 中的有效目录

转载 作者:太空狗 更新时间:2023-10-29 21:37:35 27 4
gpt4 key购买 nike

我正在编写处理命令行参数的样板,这些参数稍后将传递给另一个函数。这个其他函数将处理所有目录创建(如果需要)。因此我的 bp 只需要检查输入字符串 可能是 一个有效的目录,或者一个有效的文件,或者(其他一些东西)。 它需要区分“c:/users/username/”和“c:/users/username/img.jpg”之类的东西

def check_names(infile):
#this will not work, because infile might not exist yet
import os
if os.path.isdir(infile):
<do stuff>
elif os.path.isfile(infile):
<do stuff>
...

标准库似乎没有提供任何解决方案,但理想的是:

def check_names(infile):
if os.path.has_valid_dir_syntax(infile):
<do stuff>
elif os.path.has_valid_file_syntax(infile):
<do stuff>
...

在输入问题时考虑了这个问题之后,我想不出一种方法来检查(仅基于语法)一个字符串是否包含文件或目录而不是文件扩展名和尾部斜杠(两者都可能不包含)在那里)。可能刚刚回答了我自己的问题,但如果有人对我的胡言乱语有任何想法,请发帖。谢谢!

最佳答案

我不知道您使用的是什么操作系统,但问题在于,至少在 Unix 上,您可以拥有没有扩展名的文件。所以 ~/foo 可以是文件或目录。

我想你能得到的最接近的是:

def check_names(path):
if not os.path.exists(os.path.dirname(path)):
os.makedirs(os.path.dirname(path))

关于python - 确定字符串输入是否可以是 Python 中的有效目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com