PySide

ファイル操作

ダブルクリックでファイルを実行する

必要なパッケージ

  • win32com
'''

ダブルクリック
--------------------------------------------------------------------------------------------------------------------
'''
def double_clicked(self):

    path = self.path_Line.text()
    item = self.item_listWidget.selectedItems()[0].text()

    item_path = path + '\\' + item


    # 実行したのがファイルの場合
    # ==============================================================================================================
    if os.path.isfile(item_path):

        extention = os.path.splitext(item_path)[1].lower()

        if not extention in settings.RELIANCE_FILES:

            # ショートカットファイルの場合はリンク元のパスを取得
            # ------------------------------------------------------------------------------------------------------
            if extention == '.lnk':

                if settings.ENVIRONMENT == 'standalone':
                    wshell = win32com.client.Dispatch("WScript.Shell") #<COMObject WScript.Shell>
                    shortcut = wshell.CreateShortcut(item_path)
                    item_path = shortcut.TargetPath
                    extention = os.path.splitext(item_path)[1].lower()

                else:
                    return


            # exe ファイルの場合
            # ------------------------------------------------------------------------------------------------------
            if extention == '.exe':
               subprocess.run(item_path)

            else:
                subprocess.Popen(['start', item_path], shell=True)