Skip to main content
 首页 » 编程设计

python之将八进制数表示为 str

2025年05月04日33java哥

我有这样的方法

def _changePerms(path, perms): 
    try: 
        os.chmod(path, perms) 
        log.debug("Setting permission of file " + path + " to " + str(perms)) 
    except Exception as e: 
        raise e 

然后我调用这个方法

_changePerms(path,0o755) 

但是我的输出日志打印了这个:

2016-03-01 18:51:41,716 Setting permission of file path to 493 

我想以八进制形式打印数字,而不是十进制形式(八进制 755 == decimal 493)。

如何将值打印为字符串?

请您参考如下方法:

默认情况下,数字的字符串表示以 10 为底。要将其输出为八进制数,可以使用 string formatting。 :

log.debug(f"Setting permission of file '{path}' to {perms:o}") 

或

log.debug("Setting permission of file '{}' to {:o}".format(path, perms)) 
格式说明符中的

'o' 代表“八进制格式”。