【问题标题】:Write multiple strings into a text file as a single line将多个字符串作为单行写入文本文件
【发布时间】:2017-06-15 18:37:49
【问题描述】:

我想写成一行,比如:

 Blah blah 123456 0.0000123

我使用了以下代码:

value1 = 123456
value2 = 0.0000123
k = "Blah blah" + value1 +value2
File.write(k)
#outFile.write("Blah blah %s %s" % (value1 ,value2) )

输出总是:

Blah blah 123456
0.0000123

【问题讨论】:

  • 如果你print k 到终端会发生什么?
  • 如果不先将数字转换为字符串,k = "Blah blah" + value1 +value2 将无法工作。
  • str(value1).strip() + str(value2).strip() 可能会起作用。请尝试
  • @be_good_do_good 这行得通! str(value1).strip()。谢谢!

标签: python text-files


【解决方案1】:

当与字符串连接时,整数之后会有一个假定的结束符。要解决此问题,您可以在连接所有整数之前将它们转换为字符串。您可以使用此处所写的 str() 函数来执行此操作:https://docs.python.org/2/library/functions.html

【讨论】:

    【解决方案2】:

    您需要将它们转换为字符串并剥离它们以删除任何拖尾字符。

    str(value1).strip() + str(value2).strip()
    

    【讨论】:

      【解决方案3】:

      您必须将整数转换为字符串(请参阅此答案:Making a string out of a string and an integer in Python

      k = "Blah blah" + str(value1) + str(value2)
      

      %s 格式化程序也是如此。参数应该是str(variables),而不仅仅是变量

      【讨论】:

      • 我确实将这两个值都转换为字符串@Pac0
      • @Gigl 在这种情况下,您必须额外使用.strip(),正如您和其他人所指出的那样。但是,我很好奇为什么你有一个尾随换行符。您使用哪种操作系统?
      【解决方案4】:

      我会这样做:

      >>> value1 = '123456'
      >>> value2 = '0.000123'
      >>> k = "Blah blah " + value1 + " " + value2
      >>> print k
      Blah blah 123456 0.000123
      

      请注意第二个“blah”之后的空格,以及第 3 行中 value1 和 value2 之间的空格。

      您必须确保将 value1 和 value2 设置为字符串。你也可以这样做:

      >>> value1 = 123456
      >>> value2 = 0.000123
      >>> str(value1)
      >>> str(value2)
      

      【讨论】:

      • 我试过这个 - 将两个值都转换为字符串。它只是变成 Blah blah 123456 \n 0.0000123
      • 尝试这样做:file_name = 'text_file.txt' f = open(file_name, 'w') value1 = '123456' value2 = '0.0000123' k = "Blah blah " + value1 + ' ' + value2 f.write(k) f.close()。我刚刚尝试过,它给了我你正在寻找的输出。查看您的代码,看看您的输出中是否没有 \n。
      • 谢谢!它与 str(value).strip() 一起工作,我也可以试试这个!
      猜你喜欢
      • 2012-02-22
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多