Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python从操作系统模块打开文件[在linux上,Ubuntu 20.04]_Python_Python 3.x_Linux - Fatal编程技术网

用python从操作系统模块打开文件[在linux上,Ubuntu 20.04]

用python从操作系统模块打开文件[在linux上,Ubuntu 20.04],python,python-3.x,linux,Python,Python 3.x,Linux,Windows或MacOS上的操作系统模块具有以下功能: os.system("start APPLICATION.EXTENSION filename") 如果文件名与windows上的python文件位于同一文件夹中,则将打开文件名(我的意思是实际打开而不是python打开,就像您使用鼠标右键>打开一样)。MacOS版本是 os.system("open filename") 我要求的是linux的等价物。如果你知道一个不同的模块或方法,我愿意接

Windows或MacOS上的操作系统模块具有以下功能:

os.system("start APPLICATION.EXTENSION filename") 
如果文件名与windows上的python文件位于同一文件夹中,则将打开文件名(我的意思是实际打开而不是python打开,就像您使用鼠标右键>打开一样)。MacOS版本是

os.system("open filename")
我要求的是linux的等价物。如果你知道一个不同的模块或方法,我愿意接受任何东西

我能在网上找到的都是平常的

file = filepath
open(file)
read(file)
这些绝对不是我想要实现的。
非常感谢您提供的任何帮助,您可以告诉我,这个问题正在困扰我。

我使用的是Linux Mint 19.3,并使用
子流程
完成了此操作

更多细节和变化可参见:

我知道你的意思,但我也不知道你的目标是什么。这种类型的
open
将启动GUI或与文件扩展名或文件本身相关的其他应用程序。所以Python对此一无所知。此外,除非最近有所改变,否则Windows上的开放语义可能会有问题。在DOS批处理文件中,如果在记事本打开时启动text.txt,调用将立即返回批处理。如果记事本没有打开,并且必须启动,批处理将在该行阻塞,直到记事本关闭。与其问Python是否可以这样做,不如先检查Linux本身在这方面支持什么,它是如何完成的,谁提供服务(如果只有发行版的文件管理器支持该功能,它可能不会对您有用)。欢迎加入,并为那些认为他们绝对需要否决投票的人感到抱歉。SO上的一些人可能会对他们的匿名、无反馈否决投票感到有点恼火。但我担心,在这个阶段,这不是Python的问题,而是操作系统的问题。这与Python无关,因为
OS.system
只是使用d命令运行shell命令efault shell。任何特定的Linux发行版是否具有Windows
start
或macOS
open
的等效版本都独立于Python或任何其他编程语言。
import subprocess
subprocess.Popen(['APP_COMMAND', '~/file.txt'])