Python在开头和结尾加入字符

时间:2015-02-04 05:18:34

标签: python python-2.7

我已经在python中编写了这段代码

import os
files = os.listdir(".")
x = ""
for file in files:
  x = ("\"" + file + "\" ")

f = open("files.txt", "w")
f.write(x)
f.close()

这有效,我得到一个字符串,其中包含目录中的所有文件"foo.txt" "bar.txt" "baz.txt"

但我不喜欢for循环。我不能更简洁地编写代码....就像那些python专业人士一样?

我试过

"\"".join(files)

但是如何获得"文件名的结尾?

3 个答案:

答案 0 :(得分:4)

import os
files = os.listdir(".")
x = " ".join('"%s"'%f for f in files)
with open("files.txt", "w") as f:    
    f.write(x)

答案 1 :(得分:4)

  1. 您可以使用'single'"double-quotes"编写字符串文字;你不必逃避另一个。
  2. 您可以使用format功能在join之前应用引号。
  3. 您应该在打开文件时使用with语句,以免明确地使用close
  4. 因此:

    import os
    with open("files.txt", "w") as f:
        f.write(' '.join('"{}"'.format(file) for file in os.listdir('.'))
    

答案 2 :(得分:3)

您可以使用with来编写文件。

import os
files = os.listdir('.')
x = ' '.join(['"%s"'%f for f in files])
with open("files.txt", "w") as f:
    f.write(x)