【问题标题】:How to get absolute file path of folder from user input in python? The input gets added at the end of path如何从python中的用户输入获取文件夹的绝对文件路径?输入被添加到路径的末尾
【发布时间】:2022-11-20 18:35:35
【问题描述】:
import os

print("enter folder name")
FolderName = input()

flag = os.path.isabs(FolderName)

if flag == False:
    path = os.path.abspath(FolderName)
    print("The absolute path is: " ,path)

我在这里做错了什么?假设文件夹名称输入是 Neon。

代码输出给出C:\Users\Desktop\Codes\Neon\Neon

相反,我想要的是:C:\Users\Desktop\Codes\Neon\

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    os.path.abspath 函数规范化用户当前工作目录和输入参数,然后将它们合并在一起。

    所以如果你的输入是'Neon',你当前的工作目录是C:UsersDesktopCodesNeon,那么输出是...NeonNeon。

    同样,如果您的输入是fkdjfkjdsk,那么输出将是...Neonkdjfkjdsk。

    该函数实际上并不进行系统调用以查看结果是否存在。

    对于官方定义:

    os.path.abspath(path)

    返回路径名路径的规范化绝对化版本。在大多数平台上,这相当于调用函数 normpath(),如下所示:normpath(join(os.getcwd(), path))。

    【讨论】:

      【解决方案2】:

      当您位于 C:UsersDesktopCodesNeon 目录时,您可能正在运行您的代码

      因此,当您运行os.path.abspath("Neon") 时,该函数假设您正在尝试引用当前目录中的文件,并返回C:UsersDesktopCodesNeonNeon。

      如果要获得当前目录的绝对路径,请使用:

      os.path.abspath(".")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-01
        • 2021-10-18
        相关资源
        最近更新 更多