• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python core.shellCall函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中psychopy.core.shellCall函数的典型用法代码示例。如果您正苦于以下问题:Python shellCall函数的具体用法?Python shellCall怎么用?Python shellCall使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了shellCall函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: flac2wav

def flac2wav(path, keep=True):
    """Uncompress: convert .flac file (on disk) to .wav format (new file).

    If `path` is a directory name, convert all .flac files in the directory.

    `keep` to retain the original .flac file(s), default `True`.
    """
    flac_path = _getFlacPath()
    flac_files = []
    if path.endswith(".flac"):
        flac_files = [path]
    elif type(path) == str and os.path.isdir(path):
        flac_files = glob.glob(os.path.join(path, "*.flac"))
    if len(flac_files) == 0:
        logging.warn("failed to find .flac file(s) from %s" % path)
        return None
    wav_files = []
    for flacfile in flac_files:
        wavfile = flacfile.strip(".flac") + ".wav"
        flac_cmd = [flac_path, "-d", "--totally-silent", "-f", "-o", wavfile, flacfile]
        __, se = core.shellCall(flac_cmd, stderr=True)
        if se or not os.path.isfile(flacfile):  # just try again
            logging.warn("Failed to convert to .wav; trying again")
            __, se = core.shellCall(flac_cmd, stderr=True)
            if se:
                logging.error(se)
        if not keep:
            os.unlink(flacfile)
        wav_files.append(wavfile)
    if len(wav_files) == 1:
        return wav_files[0]
    else:
        return wav_files
开发者ID:rpbaxter,项目名称:psychopy,代码行数:33,代码来源:microphone.py


示例2: _getHgVersion

def _getHgVersion(file):
    """Tries to discover the mercurial (hg) parent and id of a file.
    
    Not thoroughly tested; completely untested on Windows Vista, Win 7, FreeBSD
    
    :Author:
        - 2010 written by Jeremy Gray
    """
    if not os.path.exists(file) or not os.path.isdir(os.path.join(os.path.dirname(file),'.hg')):
        return None
    try:
        hgParentLines,err = shellCall('hg parents "'+file+'"', stderr=True)
        changeset = hgParentLines.splitlines()[0].split()[-1]
    except:
        changeset = ''
    #else: changeset = hgParentLines.splitlines()[0].split()[-1]
    try:
        hgID,err = shellCall('hg id -nibt "'+os.path.dirname(file)+'"', stderr=True)
    except:
        if err: hgID = ''
    
    if len(hgID) or len(changeset):
        return hgID.strip()+' | parent: '+changeset.strip()
    else:
        return None
开发者ID:yvs,项目名称:psychopy,代码行数:25,代码来源:info.py


示例3: _getSvnVersion

def _getSvnVersion(filename):
    """Tries to discover the svn version (revision #) for a file.

    Not thoroughly tested; completely untested on Windows Vista, Win 7, FreeBSD

    :Author:
        - 2010 written by Jeremy Gray
    """
    if not (os.path.exists(filename) and os.path.isdir(os.path.join(os.path.dirname(filename), '.svn'))):
        return None, None, None
    svnRev, svnLastChangedRev, svnUrl = None, None, None
    if sys.platform in ['darwin', 'freebsd'] or sys.platform.startswith('linux'):
        try:
            svninfo = shellCall(['svn', 'info', filename]) # expects a filename, not dir
        except:
            svninfo = ''
        for line in svninfo.splitlines():
            if line.startswith('URL:'):
                svnUrl = line.split()[1]
            elif line.startswith('Revision: '):
                svnRev = line.split()[1]
            elif line.startswith('Last Changed Rev'):
                svnLastChangedRev = line.split()[3]
    else: # worked for me on Win XP sp2 with TortoiseSVN (SubWCRev.exe)
        try:
            stdout = shellCall(['subwcrev', filename])
        except:
            stdout = ''
        for line in stdout.splitlines():
            if line.startswith('Last committed at revision'):
                svnRev = line.split()[4]
            elif line.startswith('Updated to revision'):
                svnLastChangedRev = line.split()[3]
    return svnRev, svnLastChangedRev, svnUrl
开发者ID:alexholcombe,项目名称:psychopy,代码行数:34,代码来源:info.py


示例4: _getHgVersion

def _getHgVersion(filename):
    """Tries to discover the mercurial (hg) parent and id of a file.

    Not thoroughly tested; untested on Windows Vista, Win 7, FreeBSD

    :Author:
        - 2010 written by Jeremy Gray
    """
    dirname = os.path.dirname
    if (not os.path.exists(filename) or
            not os.path.isdir(os.path.join(dirname(filename), '.hg'))):
        return None
    try:
        hgParentLines, err = shellCall(['hg', 'parents', filename],
                                       stderr=True)
        changeset = hgParentLines.splitlines()[0].split()[-1]
    except Exception:
        changeset = ''
    try:
        hgID, err = shellCall(['hg', 'id', '-nibt', dirname(filename)],
                              stderr=True)
    except Exception:
        if err:
            hgID = ''

    if len(hgID) or len(changeset):
        return hgID.strip() + ' | parent: ' + changeset.strip()
    else:
        return None
开发者ID:flipphillips,项目名称:psychopy,代码行数:29,代码来源:info.py


示例5: wav2flac

def wav2flac(path, keep=True):
    """Lossless compression: convert .wav file (on disk) to .flac format.

    If `path` is a directory name, convert all .wav files in the directory.

    `keep` to retain the original .wav file(s), default `True`.
    """
    flac_path = _getFlacPath()
    wav_files = []
    if path.endswith(".wav"):
        wav_files = [path]
    elif type(path) == str and os.path.isdir(path):
        wav_files = glob.glob(os.path.join(path, "*.wav"))
    if len(wav_files) == 0:
        logging.warn("failed to find .wav file(s) from %s" % path)
        return None
    flac_files = []
    for wavfile in wav_files:
        flacfile = wavfile.strip(".wav") + ".flac"
        flac_cmd = [flac_path, "-8", "-f", "--totally-silent", "-o", flacfile, wavfile]
        __, se = core.shellCall(flac_cmd, stderr=True)
        if se or not os.path.isfile(flacfile):  # just try again
            # ~2% incidence when recording for 1s, 650+ trials
            # never got two in a row; core.wait() does not help
            logging.warn("Failed to convert to .flac; trying again")
            __, se = core.shellCall(flac_cmd, stderr=True)
            if se:
                logging.error(se)
        if not keep:
            os.unlink(wavfile)
        flac_files.append(flacfile)
    if len(wav_files) == 1:
        return flac_files[0]
    else:
        return flac_files
开发者ID:rpbaxter,项目名称:psychopy,代码行数:35,代码来源:microphone.py


示例6: test_stdin_and_stderr

    def test_stdin_and_stderr(self):
        echo, se = shellCall([self.cmd, self.msg], stdin='echo', stderr=True)
        assert echo == self.msg
        assert se == ''

        echo, se = shellCall(self.cmd + ' ' + self.msg, stdin='echo',
                             stderr=True)
        assert echo == self.msg
        assert se == ''
开发者ID:dgfitch,项目名称:psychopy,代码行数:9,代码来源:test_core.py


示例7: test_shellCall

def test_shellCall():
    msg = 'echo'
    cmd = ('grep', 'findstr')[sys.platform == 'win32']

    for arg1 in [[cmd, msg],  cmd+' '+msg]:
        echo = shellCall(arg1, stdin=msg)
        assert echo == msg
        echo, se = shellCall(arg1, stdin=msg, stderr=True)
        assert echo == msg
    echo, se = shellCall(12, stdin=msg)
    assert echo == None
开发者ID:9173860,项目名称:psychopy,代码行数:11,代码来源:test_core.py


示例8: __init__

 def __init__(self):
     from psychopy import core
     import os
     # should be writable:
     noopPath = os.path.join(psychopy.prefs.paths['userPrefsDir'], 'showgui_hack.py')
     # code to open & immediately close a gui (= invisibly):
     if not os.path.isfile(noopPath):
         code = """from psychopy import gui
             dlg = gui.Dlg().Show()  # non-blocking
             try: dlg.Destroy()  # might as well
             except: pass""".replace('    ', '')
         with open(noopPath, 'wb') as fd:
             fd.write(code)
     core.shellCall([sys.executable, noopPath])  # append 'w' for pythonw seems not needed
开发者ID:harmadillo,项目名称:psychopy,代码行数:14,代码来源:_psychopyApp.py


示例9: _getFlacPath

def _getFlacPath(flac_exe=''):
    """Return full path to flac binary, using a cached value if possible.
    """
    global FLAC_PATH
    if FLAC_PATH is None:
        if sys.platform == 'win32':
            if os.path.isfile(flac_exe):
                FLAC_PATH = flac_exe
            else:
                FLAC_PATH = core.shellCall(['where', '/r', 'C:\\', 'flac'])
        else:
            FLAC_PATH = core.shellCall(['/usr/bin/which', 'flac'])
        logging.info('set FLAC_PATH to %s' % FLAC_PATH)
    return FLAC_PATH
开发者ID:klq,项目名称:psychopy,代码行数:14,代码来源:microphone.py


示例10: _setSystemUserInfo

 def _setSystemUserInfo(self):
     # machine name
     self['systemHostName'] = platform.node()
     
     # platform name, etc
     if sys.platform in ['darwin']:
         OSXver, junk, architecture = platform.mac_ver()
         platInfo = 'darwin '+OSXver+' '+architecture
         # powerSource = ...
     elif sys.platform in ['linux2']:
         platInfo = 'linux2 '+platform.release()
         # powerSource = ...
     elif sys.platform in ['win32']:
         platInfo = 'windowsversion='+repr(sys.getwindowsversion())
         # powerSource = ...
     else:
         platInfo = ' [?]'
         # powerSource = ...
     self['systemPlatform'] = platInfo
     #self['systemPowerSource'] = powerSource
     
     # count all unique people (user IDs logged in), and find current user name & UID
     self['systemUser'],self['systemUserID'] = _getUserNameUID()
     try:
         users = shellCall("who -q").splitlines()[0].split()
         self['systemUsersCount'] = len(set(users))
     except:
         self['systemUsersCount'] = False
     
     # when last rebooted?
     try:
         lastboot = shellCall("who -b").split()
         self['systemRebooted'] = ' '.join(lastboot[2:])
     except: # windows
         sysInfo = shellCall('systeminfo').splitlines()
         lastboot = [line for line in sysInfo if line.find("System Up Time") == 0 or line.find("System Boot Time") == 0]
         lastboot += ['[?]'] # put something in the list just in case
         self['systemRebooted'] = lastboot[0].strip()
     
     # is R available (for stats)?
     try:
         Rver,err = shellCall("R --version",stderr=True)
         Rversion = Rver.splitlines()[0]
         if Rversion.find('R version') == 0:
             self['systemRavailable'] = Rversion.strip()
         else: raise
     except:
         self['systemRavailable'] = False
     
     """try:
开发者ID:yvs,项目名称:psychopy,代码行数:50,代码来源:info.py


示例11: _wizard

    def _wizard(self, selector, arg=""):
        from psychopy import core

        wizard = os.path.join(self.prefs.paths["psychopy"], "wizard.py")
        so, se = core.shellCall([sys.executable, wizard, selector, arg], stderr=True)
        if se and self.prefs.app["debugMode"]:
            print se  # stderr contents; sometimes meaningless
开发者ID:virtualtalks,项目名称:psychopy,代码行数:7,代码来源:_psychopyApp.py


示例12: flac2wav

def flac2wav(path, keep=True):
    """Uncompress: convert .flac file (on disk) to .wav format (new file).

    If `path` is a directory name, convert all .flac files in the directory.

    `keep` to retain the original .flac file(s), default `True`.
    """
    flac_path = _getFlacPath()
    flac_files = []
    path = pathToString(path)
    if path.endswith('.flac'):
        flac_files = [path]
    elif type(path) == str and os.path.isdir(path):
        flac_files = glob.glob(os.path.join(path, '*.flac'))
    if len(flac_files) == 0:
        logging.warn('failed to find .flac file(s) from %s' % path)
        return None
    wav_files = []
    for flacfile in flac_files:
        wavname = flacfile.strip('.flac') + '.wav'
        flac_cmd = [flac_path, "-d", "--totally-silent",
                    "-f", "-o", wavname, flacfile]
        _junk, se = core.shellCall(flac_cmd, stderr=True)
        if se:
            logging.error(se)
        if not keep:
            os.unlink(flacfile)
        wav_files.append(wavname)
    if len(wav_files) == 1:
        return wav_files[0]
    else:
        return wav_files
开发者ID:dgfitch,项目名称:psychopy,代码行数:32,代码来源:microphone.py


示例13: test_shellCall

def test_shellCall():
    if PY3:
        # This call to shellCall from tests is failing from Python3
        # but maybe it just isn't a great test anyway?!
        # shellCall is used by PsychoPy Tools>Run and works on Py3 there!
        pytest.xfail(reason="Failing on Py3")
    msg = 'echo'
    cmd = ('grep', 'findstr')[sys.platform == 'win32']

    for arg1 in [[cmd, msg],  cmd+' '+msg]:
        echo = shellCall(arg1, stdin=msg)
        assert echo == msg
        echo, se = shellCall(arg1, stdin=msg, stderr=True)
        assert echo == msg
    echo, se = shellCall(12, stdin=msg)
    assert echo is None
开发者ID:bergwiesel,项目名称:psychopy,代码行数:16,代码来源:test_core.py


示例14: _getUserNameUID

def _getUserNameUID():
    """Return user name, UID.
    
    UID values can be used to infer admin-level:
    -1=undefined, 0=full admin/root, >499=assume non-admin/root (>999 on debian-based)
    
    :Author:
        - 2010 written by Jeremy Gray
    """
    try:
        user = os.environ['USER']
    except KeyError:
        user = os.environ['USERNAME']
    uid = '-1' 
    try:
        if sys.platform not in ['win32']:
            uid = shellCall('id -u')
        else:
            try:
                uid = '1000'
                if ctypes.windll.shell32.IsUserAnAdmin():
                    uid = '0'
            except:
                raise
    except:
        pass
    return str(user), int(uid)
开发者ID:MattIBall,项目名称:psychopy,代码行数:27,代码来源:info.py


示例15: _wizard

 def _wizard(self, selector, arg=''):
     from psychopy import core
     wizard = os.path.join(
         self.prefs.paths['psychopy'], 'tools', 'wizard.py')
     so, se = core.shellCall(
         [sys.executable, wizard, selector, arg], stderr=True)
     if se and self.prefs.app['debugMode']:
         print(se)  # stderr contents; sometimes meaningless
开发者ID:tstenner,项目名称:psychopy,代码行数:8,代码来源:_psychopyApp.py


示例16: _prepare

 def _prepare(self):
     """Prep for bench-marking; currently just RAM-related on mac"""
     if sys.platform == 'darwin':
         try:
             core.shellCall('purge')  # free up physical memory if possible
         except OSError:
             pass
     elif sys.platform == 'win32':
         # This will run in background, perhaps best to launch it to run overnight the day before benchmarking:
         # %windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
         # rundll32.exe advapi32.dll,ProcessIdleTasks
         pass
     elif sys.platform.startswith('linux'):
         # as root: sync; echo 3 > /proc/sys/vm/drop_caches
         pass
     else:
         pass
开发者ID:9173860,项目名称:psychopy,代码行数:17,代码来源:wizard.py


示例17: _getHashGitHead

def _getHashGitHead(dir=''):
    origDir = os.getcwd()
    os.chdir(dir)
    try:
        git_hash = shellCall("git rev-parse --verify HEAD")
    except OSError:
        os.chdir(origDir)
        return None
    except WindowsError: # not defined on mac; OSError should catch lack of git
        os.chdir(origDir)
        return None
    os.chdir(origDir)
    git_branches = shellCall("git branch")
    git_branch = [line.split()[1] for line in git_branches.splitlines() if line.startswith('*')]
    if len(git_branch):
        return git_branch[0] + ' ' + git_hash.strip()
    else: # dir is not a git repo
        return None
开发者ID:MattIBall,项目名称:psychopy,代码行数:18,代码来源:info.py


示例18: wav2flac

def wav2flac(path, keep=True, level=5):
    """Lossless compression: convert .wav file (on disk) to .flac format.

    If `path` is a directory name, convert all .wav files in the directory.

    `keep` to retain the original .wav file(s), default `True`.

    `level` is compression level: 0 is fastest but larger,
        8 is slightly smaller but much slower.
    """
    flac_path = _getFlacPath()
    wav_files = []
    path = pathToString(path)
    if path.endswith('.wav'):
        wav_files = [path]
    elif type(path) == str and os.path.isdir(path):
        wav_files = glob.glob(os.path.join(path, '*.wav'))
    if len(wav_files) == 0:
        logging.warn('failed to find .wav file(s) from %s' % path)
        return None
    flac_files = []
    for wavname in wav_files:
        flacfile = wavname.replace('.wav', '.flac')
        flac_cmd = [flac_path, "-%d" % level, "-f",
                    "--totally-silent", "-o", flacfile, wavname]
        _junk, se = core.shellCall(flac_cmd, stderr=True)
        if se or not os.path.isfile(flacfile):  # just try again
            # ~2% incidence when recording for 1s, 650+ trials
            # never got two in a row; core.wait() does not help
            logging.warn('Failed to convert to .flac; trying again')
            _junk, se = core.shellCall(flac_cmd, stderr=True)
            if se:
                logging.error(se)
        if not keep:
            os.unlink(wavname)
        flac_files.append(flacfile)
    if len(wav_files) == 1:
        return flac_files[0]
    else:
        return flac_files
开发者ID:dgfitch,项目名称:psychopy,代码行数:40,代码来源:microphone.py


示例19: _detect_rev

def _detect_rev():
    """
    Detects revision control system.

    Recognizes: git, hg
    """
    revs = ['git', 'hg']
    for rev in revs:
        try:
            out, err = core.shellCall(rev + ' status', stderr=True)
        except:  # revision control is not installed
            pass
        else:
            if err[:5] not in ['abort', 'fatal']:
                return rev
开发者ID:qbilius,项目名称:psychopy_ext,代码行数:15,代码来源:ui.py


示例20: _getFlacPath

def _getFlacPath():
    """Return a path to flac binary. Log flac version (if flac was found).
    """
    global FLAC_PATH
    if FLAC_PATH is None:
        if prefs.general['flac']:
            FLAC_PATH = prefs.general['flac']
        else:
            FLAC_PATH = 'flac'
        try:
            version = core.shellCall([FLAC_PATH, '-v'], stderr=True)
        except:
            msg = "flac not installed (or wrong path in prefs); download from https://xiph.org/flac/download.html"
            logging.error(msg)
            raise MicrophoneError(msg)
        logging.info('Using ' + ' '.join(version))
    return FLAC_PATH
开发者ID:GentBinaku,项目名称:psychopy,代码行数:17,代码来源:microphone.py



注:本文中的psychopy.core.shellCall函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python core.wait函数代码示例发布时间:2022-05-25
下一篇:
Python core.quit函数代码示例发布时间:2022-05-25
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap