繁体   English   中英

读取文件时出现错误“OSError: [Errno 22] Invalid argument”

[英]I get the error "OSError: [Errno 22] Invalid argument" when I read the file

我正在开发一个可以使用文本文件对输入进行编码和解码的项目。 在它解码的部分给出一个错误,我不知道为什么。 如果你用谷歌搜索,你会得到路径问题所在的结果。 但我没有路。 我能做什么? 错误在第 62 行。这是整个代码。 这是循环中的第二行'while i < lente + 1'。 我是荷兰人,所以如果变量的名称并不总是有意义,那就是原因。 完整的错误是

    readed = compressed.read(i)
OSError: [Errno 22] Invalid argument'
message = input("what's your input?")
lengte = len(message)

compressed = open('compressed message.txt', 'a')
compressed.truncate(0)
compressed.close()

codeBook = {}

i = 0

text = message[i]
codeBook[text] = 1
eersteLetter = text + " " 
compressed = open('compressed message.txt', 'a')
compressed.write(eersteLetter)
compressed.close()
i += 1

while i < lengte :
    text = message[i]
    while text in codeBook:
        if i < lengte-1: 
            text = text + message[i+1]
        i += 1
if len(text) > 2:
    duplicate = text[0:-2]
    compressedText = str(codeBook[duplicate]) + text[-1]
    compressed = open('compressed message.txt', 'a')
    compressed.write(compressedText)
    codeBook[text] = len(codeBook)+1
    compressed.close()
elif len(text) > 1:
    duplicate = text[0]
    compressedText = str(codeBook[duplicate]) + text[-1]
    compressed.write(compressedText)
    codeBook[text] = len(codeBook)+1
    compressed.close()
else:
    compressedText = text
    compressed = open('compressed message.txt', 'a')
    compressed.write(compressedText)
    codeBook[text] = len(codeBook)+1
    compressed.close
    i += 1

compressed = open('compressed message.txt', 'r')
print(compressed.read())
compressed.close()
print(codeBook)



bookCode = {}
i = 1
compressed = open('compressed message.txt', 'r')
lengte = len(compressed.read())
compressed.close()

while i < lengte+1:
    compressed = open('compressed message.txt', 'r')
    readed = compressed.read(i)
    compressed.close()
    if readed == ' ':
        i += 1
    elif type(readed) == int:
        i += 1
        compressed = open('compressed message.txt', 'r')
        text = text + bookCode[readed] + compressed.read(i)
        bookCode[len(bookCode)+1] = bookCode[readed] + compressed.read(i)
        compressed.close()
        i += 1
    elif type(readed) == str:
        text = text + readed
        bookCode[len(bookCode)+1] = readed
print(' ')
print(text)
print(bookCode)

如果这个 txt 文件的路径在当前位置,它必须工作,但如果不是,你应该找到完整路径并将其存储在一个变量中。 像 path="C://Desktop// 等等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM