如何不删除文件中的空间

时间:2018-12-06 10:13:19

标签: python-2.7

如何在单词之间保持空格? 在代码中它会删除它们并在列中打印它们。.那么如何在行中和空格处打印它们?

s ='[]'
f = open('q4.txt', "r")
for line in f:
    for word in line:
        b = word.strip()
        c = list(b)
        for j in b:
            if ord(j) == 32:
                print ord(33)
            if ord(j) == 97:
                print ord(123)
            if ord(j) == 65:
                print ord(91)
            chr_nums = chr(ord(j) - 1)
            print chr_nums

    f.close()

2 个答案:

答案 0 :(得分:0)

简短的回答:删除word.strip()命令-删除空格。然后在print操作后加逗号以防止换行:print chr_nums,

除了您在此处询问的内容外,您的代码还有一些问题:

  • ord()采用的字符串(字符)不是整数,因此ord(33)将失败。
  • for word in line:将遍历字符而不是单词,因此word将是单个字符,for j in b是不必要的。

答案 1 :(得分:0)

看看第一个for循环:

for line in f:

此处名为“ line”的变量实际上是您正在读取的文本文件中的一行。因此,这个“行”变量实际上是一个字符串。现在看看第二个for循环:

for word in line:

在这里,您正在使用一个名为'line'的字符串变量的for循环,该变量是我们从上一个循环获得的。因此,在名为“ word”的变量中,您不会得到一个单词,而是一个一个接一个地字符。让我用一个简单的例子演示一下:

for word in "how are you?":
    print(word)

此代码的输出如下:

h
o
w

a
r
e

y
o
u
?

您将从该行中获取单个字符,因此您无需像在'b中的for j中一样使用另一个for循环。希望对您有帮助。