繁体   English   中英

Python加入开头和结尾的字符

[英]Python Join with characters at the beginning and end

我已经用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)

但我怎么了"的文件名结尾呢?

import os
files = os.listdir(".")
x = " ".join('"%s"'%f for f in files)
with open("files.txt", "w") as f:    
    f.write(x)
  1. 您可以使用'single'"double-quotes"来编写字符串文字。 您不必逃避另一个。
  2. join之前,可以使用format函数应用引号。
  3. 打开文件时,应使用with语句,以免您不得不显式close它。

从而:

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

您可以使用with编写文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM