【问题标题】:os module of python regarding os.linesep [closed]python的os模块关于os.linesep [关闭]
【发布时间】:2019-05-30 13:06:04
【问题描述】:

为什么在我的代码中使用了 os.linesep()?

def GetInstruction():
    print(os.linesep)#<--------???
    Instruction = input("> ").lower()
    return Instruction

【问题讨论】:

  • 我不知道,为什么你的代码中 os.linesep 使用了?
  • 不同操作系统的行分隔符不同。这样代码就独立于操作系统了。
  • @MichaelButscher:行尾翻译默认发生,print 默认打印行尾,所以在这里使用os.linesep 不会使事情变得更加独立于操作系统。我认为这段代码实际上可能会在 Windows 上产生\r\r\n\r\n
  • @user2357112,你是对的。谢谢。

标签: python python-3.x python-2.7 python-requests


【解决方案1】:

我不知道你为什么用它,但是来自the docs

用于在当前平台上分隔(或者更确切地说是终止)行的字符串。这可以是单个字符,例如 POSIX 的“\n”,也可以是多个字符,例如 Windows 的“\r\n”。

基本上代表当前环境或平台的当前行分隔符默认值。

【讨论】:

  • 还有你引用的那部分:“在编写以文本模式打开的文件时,不要使用 os.linesep 作为行终止符(默认);使用单个 '\n' 代替,在所有平台上。”这包括使用print 打印到标准输出。另外,print 无论如何已经打印了一个默认结束的行。
猜你喜欢
  • 2016-11-09
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多