python - 读取文件时出现错误“OSError: [Errno 22] Invalid argument”
问题描述
我正在开发一个可以使用文本文件对输入进行编码和解码的项目。在它解码的部分它给出了一个错误,我不知道为什么。如果你用谷歌搜索它,你会得到问题出在路径上的结果。但我没有路。我能做些什么?错误在第 62 行。这是整个代码。这是循环“while i < lengte + 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// 等等
推荐阅读
- python - 在 Windows 中将包手动添加到 PyCharm
- c++ - 是否需要双指针?
- r - R Shiny中的TextOutput和VerbatimTextOutput有什么区别
- c++ - QXmlStreamReader 获取标签值
- reactjs - 在生产中部署反应应用程序时CSS未完成
- javascript - 如何在 jQuery 验证器中为一条规则添加一条自定义消息并为所有其他规则添加默认消息
- wordpress - Uncode WordPress 主题,WooCommerce 图像翻转/悬停更改
- ruby-on-rails - 生产 dockerized rails-application 中没有日志
- jquery - 我正在使用 smsArea() 函数来计算 keyup 事件上的文本,但是当通过 jq 附加值时如何计算该文本?
- android - 如何使用 ConnectivityManager.NetworkCallback()