-4

我有一个名为'new_data.txt'的'.txt'文档。现在它是空的。但是我在'for'循环中有一个'if'语句,它会检查'x'是否偶数。如果为真,我希望将 (x + ' is even!')添加到我的“new_data.txt”文档中。

for x in range(1,101):
    if x % 2 == 0:
        # and here i want to put something that will add: x + ' is even!' to my 'new_data.txt' document.

我怎样才能做到这一点?

4

3 回答 3

5

要在 Python 中写入文件,请使用with语句和open内置:

# The "a" means to open the file in append mode.  Use a "w" to open it in write mode.
# Warning though: opening a file in write mode will erase everything in the file.
with open("/path/to/file", "a") as f:
    f.write("(x + ' is even!')")

with语句负责在您完成文件后关闭文件。

此外,在您的脚本中,您可以简化它并执行以下操作:

with open('/path/to/file','a') as file:
    for x in [y for y in range(1,101) if not y%2]:
        file.write(str(x)+' is even!\n')

这将取 1 到 101 之间的每个偶数,并以“x 是偶数!”的格式将其写入文件。

于 2013-07-18T18:26:15.150 回答
3

以下是您通常在 Python 中写入文件的方式:

with open('new_data.txt', 'a') as output:
    output.write('something')

现在只需在语句中添加'something'您要编写的内容,就您而言,这就是循环。withfor

于 2013-07-18T18:25:52.917 回答
0
with open('path/to/file', 'a') as outfile:
    for x in range(1,101):
        if x % 2 == 0:
            outfile.write("%s is even\n" %i)
于 2013-07-18T18:26:29.680 回答