我最近创建了一个包含help等命令的程序,它使程序读取一个名为help.tosext的文本文件,使用arg open("文件路径"," r")。对于显示其他文本文件的其他命令,我继续这样做。然后我尝试通过使用程序文件路径创建输入值来缩短此混乱,如下所示:
filesyspath = input("Please specify the program location's path :")
为了能够做类似
的事情open(filesyspath,"/tosext", "r")
(/ tosext是我希望在我的程序中显示的所有文本文件的位置)
换句话说,我尝试使用程序位置的地址进行输入,并将其放在需要一些.tosext文件的函数的开头。
但是当我试图调用帮助文本文件时,它说我
Type <help> to get a list of available commands.
Please specify the filesystem's location path :/storage/emulated/0/qpython/projects3/TemOS
-->help
Traceback (most recent call last):
File "/storage/emulated/0/qpython/projects3/TemOS/.last_tmp.py", line 59, in <module>
hlp = open(syspath,"/tosext/help.tosext", "r")
TypeError: an integer is required (got type str)
我知道错误的来源(程序需要一个整数),但我不知道其他解决方案。
答案 0 :(得分:1)
syspath
和"/tosext/help.tosext"
连接在一起才能形成路径:
hlp = open(syspath + "/tosext/help.tosext", "r")
open
的第一个参数是路径(字符串),第二个参数是模式(另一个字符串),第三个参数是缓冲(整数)。通常,您不想使用第三个参数。