在gedit中打开一个文本文件

时间:2018-07-08 01:01:24

标签: python

我正尝试使用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中的路径值。需要帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

双引号中包含ff,因此它被解释为文字字符ff,而不是对名为ff的变量的引用。

您可以这样构建命令:

os.system("gedit " + ff)

但这很危险;如果ff的值包含空格,换行符,分号等,可能会导致意外结果。建议改用subprocess模块,该模块可让您在列表中传递参数,而不必构造您正在运行的命令的字符串表示形式。

subprocess.run(["gedit", ff])

答案 1 :(得分:0)

我认为您忘记了$号来逃避环境变量。

尝试:

os.system("gedit $ff")