Python 2.6.2:将行写入192个字符的硬换行文件



我实现了一个函数,使包装器写入文件。这是代码:

def writeStringToFile(thestring, thefile, mode='w'):
    """Write a string to filename `thefile' to the directory specified in `dir_out'."""
    with open(os.path.join(dir_out, thefile), mode) as fh:
        fh.write("{0}n".format(thestring))

我发现当我写任何超过192个字符的字符串时,在第192个字符处插入一个换行符,导致我的输出文件中出现硬换行,这是我不想要的。

我查看了openwrite函数/方法的文档,我没有看到任何指定任何行长度的硬换行。

我自己的愚蠢——我写的字符串中包含字符序列n, python正确地将它们解释为换行符。我需要在字符串中转义它们。如果这篇文章还没有得到回复,我就把它撤了。

fh.write()不换行。有两种可能:

  1. thestring包含一个嵌入在193位置的换行符。
  2. 用来检查输出文件的编辑器/查看器正在换行。

第一种可能性很容易通过打印出thestring的值来消除。

第二种可能性可以通过在十六进制查看器(例如xxd)中查看输出文件来消除,以查看无关的换行符是否实际上是文件的一部分,或者仅仅是一个显示工件。

最新更新