我已经在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)
但是如何获得"
文件名的结尾?
答案 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)
'single'
和"double-quotes"
编写字符串文字;你不必逃避另一个。 format
功能在join
之前应用引号。with
语句,以免明确地使用close
。因此:
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)