簡體   English   中英

如何在python中創建帶有循環的字符串並將其保存在文件中

[英]How to create a string with loop in python and save it in file

我想創建一個字符串:

"FILE1 blabla2\nFILE2 blabla4 ..."

並將其保存在文件中。 請注意,在文件的每一行中,第二個整數是第一個整數的兩倍。 最后應該看起來像:

FILE1 blabla2
FILE2 blabla4
...

但是由於我有很多這種模式的行,因此手動進行效率低下。 我想為此使用python。 我可以想象它可以通過以下方式完成:

join()

但我不知道怎么做。 任何幫助表示贊賞。

假設您對數字有上限,則可以執行類似操作。

>>> "\n".join(["FILE{} blabla{}".format(x, x*2) for x in xrange(1, 10)])
'FILE1 blabla2\nFILE2 blabla4\nFILE3 blabla6\nFILE4 blabla8\nFILE5 blabla10\nFILE6 blabla12\nFILE7 blabla14\nFILE8 blabla16\nFILE9 blabla18'

然后只需將它們寫入文件即可。

with open('random.txt', 'a') as f:
    f.write("\n".join(["FILE{} blabla{}".format(x, x*2) for x in xrange(10)]))
list_of_strings = [] 
for i in range(3):
    list_of_strings.append("FILE{0} blabla{1}".format(i, i*2))  # or whatever you need

'\n'.join(list_of_strings)
n_lines = 2 # Actual number of lines you want

output = "\n".join(["FILE{} blabla{}".format(x, x*2) for x in xrange(1, n_lines+1)])

file = open("your_output_file", "w")

for line in output.split("\n"):
    file.write("{}\n".format(line))
file.close()

您可以在(幾乎)一條語句中做到這一點:

with open("blabla.txt", "w") as bla:
    bla.write("\n".join("FILE%d blabla%d" % (i, i*2) for i in range(1, 5)))

或者,如果您以后需要重復使用它,可以准備blabla列表:

blabla = ["FILE%d blabla%d" % (i, i*2) for i in range(1, 5)] 
with open("blabla.txt", "w") as bla:
    for item in blabla:
        print >> bla, item # Note that this syntax add the new line without using "\n".join

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM