當我打開一個HTML文件時,例如,我已將它設置爲在Chrome中打開。現在,如果我將給定的python腳本設置爲打開給定文件類型的東西,那麼如何在腳本中訪問此文件?它從哪裏來?當操作系統打開腳本來處理打開該文件時,如何從python訪問文件?
回答
當打開一個文件時,操作系統啓動負責首戰程序並將該文件(S)被開闢爲command line arguments:
path/to/opener_executable path/to/file1_to_be_opened path/to/file2_to_be_opened ...
您可以訪問通過sys.argv
命令行參數在你的Python腳本。小例子:
import sys
print("I'm supposed to open the following file(s):")
print('\n'.join(sys.argv[1:]))
因此,K Dawg的上述評論是不準確的,腳本可以處理這種情況,而不需要執行任何操作。 – Aerovistae
@Aerovistae可以,您可以通過命令'python.exe my_opener_script.py'來設置某種文件類型,該命令將啓動您的腳本並將參數傳遞給它。或者最壞的情況,你可以製作一個'.bat'腳本來啓動你的python腳本並傳遞參數。 –
@Rawing你必須製作一個蝙蝠腳本。因此,我的第一個陳述是正確的,你不能指定一個python *腳本*作爲Windows中的文件開啓器... –
爲了證明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()
打開文件abc.ddd與myopener.py
創建文件myopener.output
內容:
['/home/rolf/myopener.py', '/home/rolf/abc.ddd']
- 1. Python:如何在操作系統中打開時寫入文件
- 2. 想要從SharePoint打開文件系統文件,通過腳本
- 3. 如何打開一個URL來處理JavaScript腳本文件?
- 4. Python - 打開文件時的HardDrive訪問
- 5. 如何打開該文件?
- 6. Python:打開.blend文件作爲文本
- 7. 如何在打開新文件時打開文件(打開文件)?
- 8. Python:用*腳本打開文件*
- 9. 程序如何處理「打開...」文件?
- 10. 批處理文件文件不打開
- 11. 批處理文件打開Excel文件
- 12. 如何訪問和打開.class文件
- 13. 從批處理位置打開文件
- 14. 如何從批處理文件中同步打開PDF文件
- 15. 從python打開文件
- 16. android dev通過操作系統打開文件
- 17. 使用操作系統將Golang文件上傳到s3打開
- 18. 批處理文件批處理文件檢查打開的瀏覽器腳本
- 19. 如何從自定義ToolWindowPane訪問當前打開的文件
- 20. 從asp.net打開PDF文件mvc /腳本
- 21. 如何在系統文件資源管理器中打開文件/文件夾?
- 22. 打開了太多文件系統,而不是真正打開任何文件
- 23. 用python打開和處理文本文件
- 24. 如何在win7上捕獲文件打開事件操作系統
- 25. 如何從EXE打開的文件夾打開文件。 VB
- 26. 集循環在我的批處理腳本打開批處理文件腳本
- 27. 在javascript中打開本地文件系統中的文件
- 28. 打開文件導致系統在處理fanotify事件時掛起
- 29. getAssets()。打開 - 打開失敗:EROFS(只讀文件系統)
- 30. Codename one從文件系統存儲打開文件
如果我們調用正在打開的文件'B'和腳本做開幕被稱爲'A',你問的是'A'如何訪問'B',或者'B'如何訪問'A'? –
'A'如何訪問'B'。 (反過來是否有意義?試圖找出什麼時候適用)......但是,你明白爲什麼這是谷歌稍微困難。 – Aerovistae
訪問該文件時,您不能創建「python **腳本**是打開給定文件類型的東西」,它只會返回錯誤。也許可能將腳本轉換爲exe文件可能會有效 –