我正尝试使用os.system
如下打开文本文件。
def fileshow():
cf = tb2.get().replace('\n', '')
hn = tb6.get().replace('\n', '')
fc = tb3.get().replace('\n', '')
ff = cf + "/" + hn + "/" + fc
os.system("gedit ff")
问题是gedit打开名称为ff
的文件,而不是使用存储在ff
中的路径值。需要帮助,谢谢。
答案 0 :(得分:2)
双引号中包含ff
,因此它被解释为文字字符ff
,而不是对名为ff
的变量的引用。
您可以这样构建命令:
os.system("gedit " + ff)
但这很危险;如果ff
的值包含空格,换行符,分号等,可能会导致意外结果。建议改用subprocess
模块,该模块可让您在列表中传递参数,而不必构造您正在运行的命令的字符串表示形式。
subprocess.run(["gedit", ff])
答案 1 :(得分:0)
我认为您忘记了$号来逃避环境变量。
尝试:
os.system("gedit $ff")