我正在写一个分析网络日志的程序。我将各种结果放入一个名为“output”的变量中,并在末尾将输出写入一个文本文件。以下只是一个例子:
output += "\nFiles and how many times they have been accessed: \n"
for key in accessedFiles.keys():
output += key + "-> time(s) accessed is: " + "\t" + str(accessedFiles[key]) + " \n"
输出如下所示:
/paperarticles/Nov02-Bushswar.htm-> time(s) accessed is: 1
/Documents/NinaSimone.htm-> time(s) accessed is: 1
/cwi.css-> time(s) accessed is: 1
还有一些类似的问题涉及到print命令。我知道这将如何与f-string
一起工作,但我的代码中没有使用print。另外,"\t"
不起作用,因为字符串的长度不同。你知道我怎么能这样排列吗?以下为手工制作,仅用于可视化目的:
/paperarticles/Nov02-Bushswar.htm time(s) accessed: 1
/Documents/NinaSimone.htm time(s) accessed: 1
/cwi.css-> time(s) accessed: 1
这是我向论坛提出的第一个问题。我希望我做的每件事都是对的。 非常感谢你的帮助。克里斯
尝试使用格式化方法:
您必须根据标签的长度计算出每行的格式长度。用户行需要比位置行或地区行更宽的格式宽度
或
可以使用expandtabs指定tabstop,如下所示:
制表符(\t)只移动到下一个x字符的倍数(通常为8),因此键的长度将落在不同的制表位上,您需要某种方法来确定要在输出字符串中放置多少个\t
更好的选择是确定最长键的宽度,并在输出中将键字符串填充到该最大值
相关问题 更多 >
编程相关推荐