【问题标题】:Make directory below working python在工作 python 下创建目录
【发布时间】:2013-08-12 07:12:47
【问题描述】:

当我尝试os.makedirs("/home/user/newdir") 时,python 脚本位于“/home/user/somefolder”,它给了我 OSError: [Errno 13] Permission denied: '/home/user' 那我怎么做newdir

【问题讨论】:

  • 您确定/home/user 目录已经存在吗?我相信这个错误表明python运行的有效用户没有创建/home/user目录的权限(os.makedirs必须在创建/home/user/newdir directory之前创建),所以我很困惑你这么说已经存在。
  • 在任何情况下,您都需要更改python运行的有效用户以便您的脚本确实具有权限,或者您需要更改文件夹/home的权限设置。
  • 哦,哎呀...我使用 socket.gethostname() 来获取 /home//... 而 是错误的,我想这解释了很多。
  • @KristiansKuhta 用于解析~/... 请参阅os.path.expanduser
  • @Kristians:不要在标题中添加“已解决”或任何其他类似的标记。如果您找到了问题的解决方案,请自己发布答案(您甚至可以接受它以将此帖子标记为已回答)。

标签: python permissions operating-system


【解决方案1】:

问题是我使用socket.gethostname() 来获取我的电脑的用户名,但我应该使用getpass.getuser() 代替。 getpass.gethostname() 给了我“chriss”,而在 kristians@chriss:~$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多