是否可以从运行框打开终端并使用“--”运行命令来在其他目录中写入文件?

是否可以从运行框打开终端并使用“--”运行命令来在其他目录中写入文件?

我想要做的是使用 python 命令行解释器启动一个终端会话,然后使用该解释器运行 python 文件,该 python 文件可以位于任何地方。

我的意思是我有一个 pythondemo.py文件/home/one/two/

#demo.py
a=10
print("something")

这样当终端打开时我会看到消息,something后面跟着控制台提示。

 something 
 >>>

我的方法:

gnome-terminal --python -i ~/home/one/two/demo.py

这给了我以下结果

python: can't open file '~/Desktop/pydemo/demo.py': [Errno 2] No such file or directory

但是,当我从终端窗口(未在与文件相同的目录中打开)运行相同的命令时,demo.py它可以正常工作。

有人可以解释一下这里发生了什么吗?如果可能的话,请建议一种实现我上面提到的方法。

答案1

您没有说明如何启动该命令。如果从命令行运行, gnome-terminal -- python -i ~/demo.py则可以,因为在将参数传递给 gnome-terminal 之前,shell 会将 ~ 更改为您的 home。但是,在您的情况下,错误消息指出~/... : not found:没有 shell 来解释 ~,因此它保持原样,实际上,在命令碰巧启动的目录中,没有目录的名称是唯一的字符 ~。

明确使用 shell 来解释 ~ :

gnome-terminal -- sh -c 'exec python -i ~/demo.py'

或者自己动手并提供完整路径名:

gnome-terminal -- python -i /home/me/demo.py

相关内容