雷蓓蓓 2023-04-10 20:00 采纳率: 100%
浏览 9
已结题

os.path.join(os.path.expanduser("~"), 'Desktop')不能获取OneDrive上备份的桌面

最近在测试一个os库的文件管理功能,想在windows电脑的桌面上创建一个测试文件夹,os.path.join(os.path.expanduser("~"), 'Desktop')可以获取系统桌面的路径,但我的电脑上开了OneDrive,把桌面备份到C:\Users\x\OneDrive\Desktop上了,而os返回的是C:\Users\x\Desktop。


desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
        print(desktop_path)
        dir_path = desktop_path + "\\" + str(name)
        try:
            os.makedirs(dir_path)
        except Exception as e:
            print("文件夹已存在")
            print(e)

请问大家有什么方法可以让它找到正确的路径?

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-04-10 20:36
    关注

    用winshell库
    先pip install winshell
    然后

    import os
    import winshell
    
    desktop_path = winshell.desktop()
    dir_path = os.path.join(desktop_path, str(name))
    try:
        os.makedirs(dir_path)
    except FileExistsError:
        print("文件夹已存在")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月10日

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题