字符串中没有引号的字符串?

时间:2018-02-03 18:46:00

标签: python string loops text-files

我正在尝试将文本写入文件,但除了目标字符串之外,我还需要包含其他文本。当我循环遍历目标字符串时,它会打印引号,因为其他文本需要引号。 如何从我插入每个循环的字符串中删除引号?

list=['random', 'stuff', 1]
with open(textfile, 'a') as txtfile:
    for item in list:
        print("""Need to have stuff before %a and after each loop string"""  
        %item, file=txtfile)

输出:需要在“随机”之前和每个循环字符串之后输入内容 期望的输出:需要在随机之前和每个循环字符串之后有东西。

2 个答案:

答案 0 :(得分:3)

您可以使用str.format

>>> li=['random', 'stuff', 1]
>>> for item in li:
...    print("before {} after".format(item))
... 
before random after
before stuff after
before 1 after

或者您可以将%s%运算符一起使用:

>>> for item in li:
...    print("before %s after" % item)
... 
before random after
before stuff after
before 1 after

(不要调用列表list,否则你将覆盖同名的Python函数......)

答案 1 :(得分:1)

您的代码是正确的,除非您需要使用%s而不是%a,因为您想以字符串形式输入(IE %s是一个字符串)。

megaing

的评论中所示