Advertisement
Guest User

show_in_folder.py

a guest
Feb 3rd, 2018
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.24 KB | None | 0 0
  1. import os
  2. import sys
  3. from PyQt5 import QtCore
  4. def showInFolder(path):
  5.     '''
  6.    Show a file or folder with explorer/finder.
  7.    Source: https://stackoverflow.com/a/46019091/3388962
  8.    '''
  9.     path = os.path.abspath(path)
  10.     dirPath = path if os.path.isdir(path) else os.path.dirname(path)
  11.     if sys.platform == 'win32':
  12.         args = []
  13.         if os.path.isdir(path):
  14.             args.append('/select,')
  15.         args.append(QtCore.QDir.toNativeSeparators(path))
  16.         if QtCore.QProcess.startDetached('explorer', args):
  17.             return
  18.     elif sys.platform == 'darwin':
  19.         args = []
  20.         args.append('-e')
  21.         args.append('tell application "Finder"')
  22.         args.append('-e')
  23.         args.append('activate')
  24.         args.append('-e')
  25.         args.append('select POSIX file "%s"' % path)
  26.         args.append('-e')
  27.         args.append('end tell')
  28.         args.append('-e')
  29.         args.append('return')
  30.         if not QtCore.QProcess.execute('/usr/bin/osascript', args):
  31.             return
  32.         #if not QtCore.QProcess.execute('/usr/bin/open', [dirPath]):
  33.         #    return
  34.     # Fallback.
  35.     QtGui.QDesktopServices.openUrl(QtCore.QUrl(dirPath))
  36.  
  37.  
  38. showInFolder('..')
  39. showInFolder('./show_in_folder.py')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement