拼凑文件系统路径不起作用

时间:2018-03-17 00:49:01

标签: python input

我最近创建了一个包含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)

我知道错误的来源(程序需要一个整数),但我不知道其他解决方案。

1 个答案:

答案 0 :(得分:1)

必须将

syspath"/tosext/help.tosext"连接在一起才能形成路径:

hlp = open(syspath + "/tosext/help.tosext", "r")

open的第一个参数是路径(字符串),第二个参数是模式(另一个字符串),第三个参数是缓冲(整数)。通常,您不想使用第三个参数。