从带有整数 Python 的列表写入文件

Bei*_*Bei 1 python file list

我试图从列表中编写一个文本文件,它与字符串列表完美配合,每个元素都在一个新行上。但是当我尝试从带有整数的列表中写入时,它不起作用。问题是我需要该列表作为代码中另一个位置的整数列表(在比较 if 语句中的值时),并且我尝试将整数列表转换为字符串列表,但是数字被放置在单独的行上,例如,

我必须在一行中写下 2016 年:

2016
Run Code Online (Sandbox Code Playgroud)

但是,它变得像这样

2
0
1
6
Run Code Online (Sandbox Code Playgroud)

这是写入文本文件的代码:

打印(“写年份:”) year.append(int(输入()))

...一些需要列表年份作为整数的代码...

year_string = str(年)

with open('movietitle.txt', 'w') as file:
    file.write('\n'.join(movietitle))

with open('year_string.txt', 'w') as file:
    file.write('\n'.join(year_string))

with open('genre.txt', 'w') as file:
    file.write('\n'.join(genre))

with open('review.txt', 'w') as file:
    file.write('\n'.join(review))
Run Code Online (Sandbox Code Playgroud)

Nei*_*eil 7

由于您使用了变量名称,year我认为您正在尝试转换年份的字符串整数,因此您可以这样做。我也怀疑这是问题所在,因为您得到的输出很奇怪。我还添加了有关如何将年份单行转换为自身字符串版本的代码。

将整数写入文件

year = 1998
with open('year.txt', 'w') as file:
    file.write('\n'.join([str(year)]))
Run Code Online (Sandbox Code Playgroud)

将整数列表写入文件

years = [1998,1996]
with open('year2.txt', 'w') as file:
    file.write('\n'.join(str(year) for year in years))
Run Code Online (Sandbox Code Playgroud)

(根据原海报的要求):

years = [1998,1996]
with open('year2.txt', 'w') as file:
    file.write('\n'.join(years))
Run Code Online (Sandbox Code Playgroud)