gpt4 book ai didi

python - 区分文件名和文件路径

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:16 25 4
gpt4 key购买 nike

如果我们传递文件名和文件路径,我需要调用不同的功能

例如

python test.py  test1 (invoke different function)         
python test.py /home/sai/test1 (invoke different function)

我可以从 sys.argv[1] 获取参数。但我无法区分文件和文件路径。(即它是文件还是文件路径)

最佳答案

这有点棘手,因为文件名也是有效的相对路径,对吧?你无法区分它。

另一方面,假设您想区分以斜杠\反斜杠开头的绝对路径或相对路径,您可以使用 os.path.isabs(path) 。 Doc 说它会在 Unix 上检查路径是否以斜杠开头,在 Win 上删除潜在的驱动器号后检查路径是否以反斜杠开头:

>>> import os
>>> os.path.isabs('C:\\folder\\name.txt')
True
>>> os.path.isabs('\\folder\\name.txt')
True
>>> os.path.isabs('name.txt')
False

但是,如果相对路径不以斜杠开头,这将失败:

>>> os.path.isabs('folder\\name.txt')
False

适用于上述所有情况的解决方案,对带斜线或不带斜线的相对路径不敏感,是使用 os.path.basename(path) 对路径尾部与路径本身进行比较。 。如果它们相等,则只是一个名称:

>>> os.path.basename('C:\\folder\\name.txt') == 'C:\\folder\\name.txt'
False
>>> os.path.basename('\\folder\\name.txt') == '\\folder\\name.txt'
False
>>> os.path.basename('folder\\name.txt') == 'folder\\name.txt'
False
>>> os.path.basename('name.txt') == 'name.txt'
True

关于python - 区分文件名和文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371726/

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