2012-11-11 17 views
0

尝试打开txt时出现此错误。文件。请告诉如何解决它。打开子进程python时发生错误

code: subprocess.Popen("/home/yash/Documents/ct.txt") 
     time.sleep(1) 
error: 
    Traceback (most recent call last): 
    File "/home/yash/Documents/final_downloader22.py", line 5, in <module> 
    subprocess.Popen("/home/yash/Documents/ct.txt") 
    File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child 
    raise child_exception 
    OSError: [Errno 13] Permission denied 

回答

1

文本文件通常不可执行。你在这里打开什么意思?

  1. 这可能意味着“打开它,以便我可以在程序中使用它”。

    这适用于file_object = open('/home/yash/Documents/ct.txt', 'r'),然后使用该file_object

  2. 这也可能意味着“让文件类型的关联应用程序打开文件,以便用户可以编辑它”。

    在这种情况下,您将必须找出关联的应用程序是什么。你如何做到这一点取决于你使用的操作系统以及窗口管理器/桌面环境。它不能用几句简短的句子来回答。

+0

感谢您的回复,我正在运行linux,我想用gedit打开它来编辑任何进一步的帮助。 – user1779646

+0

@ user1779646然后调用'gedit'并告诉它加载txt文件:'subprocess.Popen(['gedit',“/home/yash/Documents/ct.txt”])''。 – glglgl

+0

它的工作,谢谢。 – user1779646

1

你可以使用webbrowser module打开一个文本文件,在脚本中可移植的方式编辑:

import webbrowser 

webbrowser.open("/home/yash/Documents/ct.txt") 

在命令行:

$ python -mwebbrowser "/home/yash/Documents/ct.txt" 

参见补丁"Add shutil.open" Python issue

相关问题