字符串和文件

use*_*646 2 python string

假设这是我的语言列表.

aList = ['Python','C','C++','Java']
Run Code Online (Sandbox Code Playgroud)

如何写入文件,如:

Python      : ...
C           : ...
C++         : ...
Java        : ...
Run Code Online (Sandbox Code Playgroud)

我用rjust()来实现这个目的.没有它我该怎么办?

我在这里手动完成.我想避免这种情况,即; 它应该自动订购.

Bri*_*ian 5

您可以使用字符串格式运算符执行此操作

f=open('filename.txt','w')
for item in aList:
    print >>f, "%-20s : ..." % item
Run Code Online (Sandbox Code Playgroud)

20是字段宽度,而" - "表示左对齐.


Ste*_*202 5

你是说这个吗?

>>> languages = ['Python','C','C++','Java']
>>> f = open('myfile.txt', 'w')
>>> print('\n'.join('%-10s: ...' % l for l in languages), file=f)
>>> f.close()
>>> print(open('myfile.txt').read())
Python    : ...
C         : ...
C++       : ...
Java      : ...
Run Code Online (Sandbox Code Playgroud)

这使用格式规范迷你语言.请注意,print语句使用3.0语法.(是的,我改变了这个,因为Brian的答案链接到2.5.2文档.只是为了对比.)