py ide弄得非常奇怪,雙擊py文件是無法直接運行也無法直接用其默認的shell(idle)來打開的。
且有時py文件的右鍵菜單可能沒有Edit with IDLE選項。
可以通過注冊表添加。(本文用的Python3.6、win7)
1 右鍵點擊系統圖标,點擊‘運行’
2 在‘運行’輸入框中輸入‘regedit’
3 找到‘HKEY_CLASSES_ROOT\SystemfileAssociations’,點開文件夾,往下找,看是否有‘.py’頂。如果沒有,創建以下項,注意py前面有個點(英文标點):
‘.py’右側鍵值不管,‘shell’,'edit'的鍵值均為‘Edit with IDLE’即可,雙擊右側窗口中和圖标即可修改:
将’command‘的鍵值設置成:
c:\python\pythonw.exe c:\python\Lib\idlelib\idle.pyw -e %1
(%1 就是你雙擊打開文件時的文件絕對路徑。%0 指命令本身。%1 指命令後加的以空格分隔的字符串,表示參數,%2~%9類推,表示更多的參數。)
鍵值對應開始菜單内的快捷方式的目标:
注意查看在c盤的文件夾是python還是python3,記得改成你自己的路徑,否則無效。
在py文件右擊,右鍵菜單即可看到有此選項了:
當然,沒有右鍵菜單,也是有以下方式可以選擇的:
1 cmd→python D:\filecopy.py,在cmd中運行
2 開始菜單或"C:\Python\Lib\idlelib\idle.bat"打開idle,通過idle的file→open來打開和運行py文件;
3 cmd→python c:\Python\Lib\idlelib\idle.py -r D:\filecopy.py //shell運行
4 cmd→python c:\Python\Lib\idlelib\idle.py D:\filecopy.py //shell打開
如果使用vc控件,也可結合system命令來操作:
void CAssistantsDlg::OnICON41() { CString m_href; CString str; CEdit *edit1=(CEdit*)m_Records.GetDlgItem(IDC_EDIT1); edit1->GetWindowText(m_href); if(m_href!="") { if(m_href.Left(0)=='\"') str = m_href.Mid(1,m_href.GetLength()-2); else str = m_href; CString pypath = python.c_str(); pypath = "\\Lib\\idlelib\\idle.py"; CString fullstr = "python " pypath " " str; system(fullstr.GetBuffer(0)); CEdit *edit2=(CEdit*)m_Records.GetDlgItem(IDC_RICHEDIT1); edit2->SetWindowText(fullstr); } else { string strtemp = python "\\Lib\\idlelib\\idle.bat" ; system(strtemp.c_str()); CEdit *edit2=(CEdit*)m_Records.GetDlgItem(IDC_RICHEDIT1); edit2->SetWindowText("請在上面輸入要打開的py文件的完整路徑!"); } }
END
,