代码之家  ›  专栏  ›  技术社区  ›  rxmnnxfpvg

我的权限设置正确吗?(蟒蛇)

  •  1
  • rxmnnxfpvg  · 技术社区  · 14 年前

    os.system('chmod o+w filename.png') 这样我就可以用 pngcrush .

    以下是我在python中设置的权限:

    -rw-rw-rw- 1 me users 925 Sep 20 11:25 filename.png
    

    然后我尝试:

    os.system('pngcrush filename.png filename.png')
    

    它应该覆盖文件,但我得到:

    Cannot overwrite input file filename.png
    

    pngcrush 正在作为“其他”用户运行,对其启用了写入权限?

    谢谢!

    4 回复  |  直到 14 年前
        1
  •  3
  •   Eli Bendersky    14 年前

    问题在于你执行任务的方式 pngcrush 程序,不具有的权限 filename.png 或者蟒蛇。它只是试图打开 文件名.png 对于输入和输出,这当然是无效的。

    pngcrush公司 要么 -e 或者 -d 选项来告诉它如何写入输出。阅读它的 man 更多信息。

        2
  •  2
  •   jathanism    14 年前

    也许 pngcrush 输入和输出文件不允许使用相同的名称吗?你试过改变输出文件名吗?如果是,结果如何?

        3
  •  2
  •   Richard Fearn    14 年前

    os.chmod ,这比运行效率更高 chmod :

    import os
    import stat
    
    path = "filename.png"
    mode = os.stat(path).st_mode     # get current mode
    newmode = mode | stat.S_IWOTH    # set the 'others can write' bit
    os.chmod(path, newmode)          # set new mode
    
        4
  •  0
  •   knitti freethinker    14 年前