2012-11-11 18 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

相關問題