下面是我的代码:
set -o pipefail
错误:
sh
它返回上面的错误,但我不知道如何解决。
答案 0 :(得分:1)
遍历文件默认情况下逐行检索数据。您可以使用iter(callable, sentinel)
内置函数中的两个参数以字节流的形式读取文件,如下所示。请注意,这种方法不会像使用内置readlines()
这样的情况一次将整个文件一次全部读取到内存中。
KEY = 4
encoded = ""
with open("mytext.txt", 'rb') as my_text:
# Using iter() like below causes it to quit when read() returns an
# empty char string (which indicates the end of the file has been
# reached).
for c in iter(lambda: my_text.read(1), b''):
rem = (ord(c) - 97 + KEY) % 26
encoded += chr(rem + 97)
print(encoded)
答案 1 :(得分:0)
您必须使用readlines,并对文本文件中的任何新行进行其他循环。否则单行会很好。
my_text= F = open("mytext.txt")
my_text = F.readlines()
KEY = 4
encoded= ""
for c in my_text:
for c1 in c:
rem = (ord(c1) - 97 + KEY) % 26
encoded += chr(rem + 97)
print(encoded)