gpt4 book ai didi

Python 字符串打印格式

转载 作者:行者123 更新时间:2023-12-01 05:42:14 26 4
gpt4 key购买 nike

我对编程和 Python 非常陌生。目前仍在开发我的第一个程序。大约一周前,我从这个论坛得到了一些帮助,但现在我陷入了程序的另一部分,所以我需要某种鞋底来再次帮助我:-)

在此示例中,我有 2 个文件 keyfile.dat包含整个 ascii 字符集,每行一个字符。它们是实际的字符,而不是代码。

test.txt就像索引文件一样工作。每行包含一个数字,该数字指向 keyfile.dat 内的行号。其中又包含一个 ascii 字符。下面的代码打印字母、逗号、问号等。但是它不打印空格、回车符等。我想这是因为我正在使用 str.strip print内陈述。如果我不使用该命令,除非它读取回车符,否则它不会在同一行上打印每个字符,而是在单独的行上打印每个字符。基本上,程序的这一部分应该打印它指向的任何字符,无论它是什么,并完全按原样打印它,就像键入它一样。

---编辑---代码已删除

有什么想法吗?并提前感谢您的回复。克林顿。

keyfile.dat 的示例内容

8
e


T



U
^V

^]
b





F

内容test.txt:

14
203
163
38
52
163
38
188
231
11
38
231
242
208
74
163
38
163
231

使用上面的代码输出:

T h i s , i s a t e s t ! O r i s i t ?

因为您可以看到单词之间和之后没有打印空格!应该有一个回车符。

我个人认为这是因为我的打印声明。我需要使用 .strip 否则从 keyfile.dat 读取的每个字符都会打印在新行上。据我所知,.strip 会删除空格、回车符等。因此,如果我读取回车符然后尝试打印它,它会被删除,因为我的打印开始使用 .strip。

最佳答案

使用 with 语句处理文件,因为它会自动为您关闭文件:

with open('keyfile.dat') as f, open('test.txt') as i:
index = [int(line) for line in i) #apply int() here
keyfile = f.readlines()
for ind in index:
line = keyfile[ind]
if len(line) > 1:
print line[:-1],
elif len(line) == 1:
print line,

关于Python 字符串打印格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17251791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com