当操作系统打开脚本来处理打开该文件时,如何从python访问文件?

时间:2016-07-22 07:10:05

标签: python python-3.x

例如,当我打开HTML文件时,我将其设置为在Chrome中打开。现在,如果我将给定的python脚本设置为打开给定文件类型的东西,如何在脚本中访问此文件?它在哪里?

2 个答案:

答案 0 :(得分:1)

打开文件时,操作系统启动负责的开启程序,并将要打开的文件传递为command line arguments

path/to/opener_executable path/to/file1_to_be_opened path/to/file2_to_be_opened ...

您可以在python脚本中通过sys.argv访问命令行参数。一个最小的例子:

import sys

print("I'm supposed to open the following file(s):")
print('\n'.join(sys.argv[1:]))

答案 1 :(得分:0)

要证明Rawing的要点,在Linux上,您可以使用其他应用程序"并选择你的可执行文件的python脚本 sys.argv提供脚本的名称作为参数0,然后提供任何其他参数的列表。

myopener.py

#!/usr/bin/env python
import sys, os
x=os.open('/home/rolf/myopener.output',os.O_RDWR|os.O_CREAT)
xx = os.fdopen(x,'w+')
y=str(sys.argv)
xx.write(y)
xx.close()

使用myopener.py打开文件abc.ddd会创建文件myopener.output内容:

['/home/rolf/myopener.py', '/home/rolf/abc.ddd']