pathlib.Path.cwd() 返回什么?

pathlib.Path.cwd() 根据我使用的计算机(两台 Windows PC - 一台在工作,一台在家里)返回不同的值。

项目结构(见https://github.com/jonathanchukinas/file_read_exercise.git

  • file_read_exercise/

    • 初始化.y

    • 我的数据.xlsx

    • 初始化.py

    • read_excel_file.py

    • 仓/

    • 数据/

    • 初始化.py

    • 主文件

    main.py 和 read_excel_file.py 都包含: from pathlib import Path print(Path.cwd()) 在工作中,每个 python 文件都返回顶级目录的绝对路径。在家里,每个 python 文件都会返回其自己目录的绝对路径。

    我已经浏览了文档,我已经用谷歌搜索并搜索了堆栈溢出,但找不到这个问题的答案:

    cwd() 如何工作以便我可以更好地预测其结果?


    UYOU
    浏览 582回答 2
    2回答

    梦里花落0921

    它返回当前工作目录,即运行脚本的目录。例子:stradivari:~/Desktop/file_read_exercise$ python main.py应该返回路径~/Desktop/file_read_exercise:cwd, when called from main, returns: /home/stradivari/Desktop/file_read_exercisestradivari:~/Desktop$ python ./file_read_exercise/main.py应该返回到我的桌面的路径:cwd, when called from main, returns: /home/stradivari/Desktop

    慕哥6287543

    您可以使用此函数来建立路径而无需对其进行硬编码:import pathlibdef find_path_to_file(file_name):    globa_path = pathlib.Path.home()    for path in sorted(globa_path.rglob('*')):            if str(file_name) in str(path):                return str(path)如果将此函数与搜索文件放在同一文件夹中,也可以替换 cwd() 上的 home(),或者尝试使用 parent 参数:def find_path_to_file(file_name):    global_path = pathlib.Path.cwd()    for path in sorted(global_path.rglob('*')):            if str(file_name) in str(path):                return str(path)            else:                for path in sorted(global_path.parent.parent.rglob('*')):                    if str(file_name) in str(path):                        return str(path)
    打开App,查看更多内容
    随时随地看视频慕课网APP

    相关分类

    Python