如何在python中编写没有任何分隔符的文本文件?

nad*_*dya 4 python delimiter python-2.7

我想用 Python 2.7 编写一个 6 行的简单文本文件。我正在使用此代码:

import csv
export=open('./images2/test.tfw', "wb")
writer=csv.writer(export, delimiter=' ', quoting=csv.QUOTE_NONE)
writer.writerow('0.06')
writer.writerow('0.00')
writer.writerow('0.00')
writer.writerow('-0.06')
writer.writerow('-10.59')
writer.writerow('38.49')
export.close()
Run Code Online (Sandbox Code Playgroud)

我正在进入文件:

0 . 0 6
0 . 0 0
0 . 0 0
- 0 . 0 6
- 1 0 . 5 9
3 8 . 4 9
Run Code Online (Sandbox Code Playgroud)

但我不希望数字内有空格或其他任何东西,我只需要这样:

0.06
0.00
0.00
-0.06
-10.59
38.49
Run Code Online (Sandbox Code Playgroud)

但是当我尝试delimiter=''or 时delimiter=None,出现错误“必须设置分隔符”。如何在没有分隔符的情况下写我的数字?也许这是一个非常基本的问题,但我在谷歌中找不到。谢谢!

ins*_*get 8

writerow期望一个可迭代的,其中的每个元素都将写入文件,由分隔符分隔。因此,当你给它一个字符串(它本身是一个可迭代的)时,它会将每个字符写入文件,由分隔符分隔。
相反,您想要做的是将“行”作为字符串列表提供。在您的情况下,每一行只有一个字符串,因此将每一行作为只有一个字符串的列表提供。

CSV 格式需要某种分隔符。传统上,此分隔符是逗号 - 因此得名(CSV = 逗号分隔值)。但是,如果您觉得需要使用不同的分隔符,您当然可以这样做(典型的选择包括空格、制表符、连字符等)

import csv
export=open('./images2/test.tfw', "wb")
writer=csv.writer(export, delimiter=',', quoting=csv.QUOTE_NONE)
writer.writerow(['0.06'])
writer.writerow(['0.00'])
writer.writerow(['0.00'])
writer.writerow(['-0.06'])
writer.writerow(['-10.59'])
writer.writerow(['38.49'])
export.close()
Run Code Online (Sandbox Code Playgroud)

  • 为了扩展这一点,“0.06”是一个字符串,它是一个字符串序列。因此,每个项目之间都有一个分隔符。通过将字符串“0.06”包裹在方括号“[]”中,您可以创建单个字符串的列表,以便打印整个字符串。 (2认同)
  • 创建 `list` 对象只是为了使用 CSV 模块掩盖了一个事实,即 CSV 模块是错误的工作工具;类似于将大锤包裹在泡沫包装中以避免破坏您正在敲击的螺母。 (2认同)