Python - 如何在没有引号和空格的情况下将字符串写入文件?

时间:2013-12-14 16:30:59

标签: python string io

是否可以写入没有引号和空格的文件字符串(列表中任何类型的空格)?

例如我有这样的清单:

['blabla', 10, 'something']

如何写入文件,以便文件中的行变为:

blabla,10,something

现在,每当我将其写入文件时,我都会得到:

'blabla', 10, 'something'

然后我需要用空符号替换'' '。也许有一些技巧,所以我不需要一直更换它?

3 个答案:

答案 0 :(得分:8)

这将有效:

lst = ['blabla', 10, 'something']
# Open the file with a context manager
with open("/path/to/file", "a+") as myfile:
    # Convert all of the items in lst to strings (for str.join)
    lst = map(str, lst)  
    # Join the items together with commas                   
    line = ",".join(lst)
    # Write to the file
    myfile.write(line)

文件输出:

blabla,10,something

但请注意,上述代码可以简化:

lst = ['blabla', 10, 'something']
with open("/path/to/file", "a+") as myfile:
    myfile.write(",".join(map(str, lst)))

此外,您可能希望在写入文件的行末尾添加换行符:

myfile.write(",".join(map(str, lst))+"\n")

这将导致对文件的每个后续写入都放在它自己的行上。

答案 1 :(得分:1)

你有没有尝试过类似的东西?

yourlist = ['blabla', 10, 'something']
open('yourfile', 'a+').write(', '.join([str(i) for i in yourlist]) + '\n')

其中

', '.join(...)获取字符串列表并用字符串粘贴(', '

[str(i) for i in yourList]将您的列表转换为字符串列表(以便处理数字)

答案 2 :(得分:1)

初始化空字符串j
对于列表中的所有项,连接到j,在for循环中不创建空格,
print str(j)将删除引号

  j=''
  for item in list:
       j = j + str(item)
  print str(j)