Python platform 模块,python_version_tuple() 实例源码

我们从Python开源项目中,提取了以下25个代码示例,用于说明如何使用platform.python_version_tuple()

项目:Round1    作者:general-ai-challenge    | 项目源码 | 文件源码
def get_input(self):
        self._user_input_label_win.addstr(0, 0, 'input:')
        self._user_input_label_win.refresh()
        curses.echo()
        inputstr = self._user_input_win.getstr(
            0,
            0,
            self.width - self._user_input_win_x).decode(code)
        curses.noecho()
        if platform.python_version_tuple()[0] == '2':
            inputstr = to_unicode(inputstr)
        self._user_input_win.clear()

        if inputstr == self.panic:
            inputstr = ''
            self._env._task_time = float('inf')
        return inputstr
项目:Round1    作者:general-ai-challenge    | 项目源码 | 文件源码
def get_input(self):
        print("_"*self._total_msg_length)
        print(self._env_output + ' reward:{:7}'.format(self.info['reward']))
        print(self._learner_input + ' time:{:9}'.format(self.info['time']))
        if self._byte_channels:
            print(self._reward)
        _ver = sys.version_info
        if _ver[0] == 2:
            input_str = raw_input()
        else:
            input_str = input()
        if platform.python_version_tuple()[0] == '2':
            input_str = to_unicode(input_str)
        if input_str == self.panic:
            input_str = ''
            self._env._task_time = float('inf')
        elif input_str == self.quit:
            sys.exit()
        return input_str
项目:ssh2-python    作者:ParallelSSH    | 项目源码 | 文件源码
def test_sftp_read(self):
        self.assertEqual(self._auth(), 0)
        sftp = self.session.sftp_init()
        self.assertTrue(sftp is not None)
        if int(platform.python_version_tuple()[0]) >= 3:
            test_file_data = b'test' + bytes(os.linesep, 'utf-8')
        else:
            test_file_data = b'test' + os.linesep
        remote_filename = os.sep.join([os.path.dirname(__file__),
                                       'remote_test_file'])
        with open(remote_filename, 'wb') as test_fh:
            test_fh.write(test_file_data)
        with sftp.open(remote_filename, 0, 0) as remote_fh:
            try:
                self.assertTrue(remote_fh is not None)
                remote_data = b""
                for rc, data in remote_fh:
                    remote_data += data
                self.assertEqual(remote_fh.close(), 0)
                self.assertEqual(remote_data, test_file_data)
            finally:
                os.unlink(remote_filename)
项目:r5    作者:benureau    | 项目源码 | 文件源码
def provenance(dirty=False):
    """Return provenance data about the execution environment.

    :param dirty:  if False, will exit with an error if the git repository
                   is dirty or absent.
    """
    return {'python'   : {'implementation': platform.python_implementation(),
                                'version' : platform.python_version_tuple(),
                                'compiler': platform.python_compiler(),
                                'branch'  : platform.python_branch(),
                                'revision': platform.python_revision()},
            'platform'  : platform.platform(),
            'packages'  : list(pip.commands.freeze.freeze()), # list of installed packages
            'git_info'  : git_info(dirty_allowed=dirty),
            'timestamp' : datetime.utcnow().isoformat()+'Z',  # Z stands for UTC
           }
项目:Round1    作者:general-ai-challenge    | 项目源码 | 文件源码
def consume(self, input_char):
        '''
        Takes a byte into the channel
        '''
        if ord(input_char) >= 256:
            raise Exception("Input char out of range")
        if platform.python_version_tuple()[0] == '2':
            encoded_char = to_unicode(input_char, 'utf-8')
        else:
            encoded_char = input_char
        self._buffer += encoded_char
        self.message_updated(self._buffer)
        self.sequence_updated(self._buffer)
项目:3d-DenseNet    作者:frankgu    | 项目源码 | 文件源码
def save_path(self):
    try:
      save_path = self._save_path
      model_path = self._model_path
    except AttributeError:
      save_path = 'saves/%s' % self.model_identifier
      if platform.python_version_tuple()[0] is '2':
        if not os.path.exists(save_path):
          os.makedirs(save_path)
      else:
        os.makedirs(save_path, exist_ok=True)
      model_path = os.path.join(save_path, 'model.chkpt')
      self._save_path = save_path
      self._model_path = model_path
    return save_path, model_path
项目:3d-DenseNet    作者:frankgu    | 项目源码 | 文件源码
def logs_path(self):
    try:
      logs_path = self._logs_path
    except AttributeError:
      logs_path = 'logs/%s' % self.model_identifier
      if self.renew_logs:
        shutil.rmtree(logs_path, ignore_errors=True)
      if platform.python_version_tuple()[0] is '2':
        if not os.path.exists(logs_path):
          os.makedirs(logs_path)
      else:
        os.makedirs(logs_path, exist_ok=True)
      self._logs_path = logs_path
    return logs_path
项目:runtests    作者:bccp    | 项目源码 | 文件源码
def get_machine_info():
    """
    Return information about the machine, including host,
    system, and the python version.
    """
    return {'host':platform.node(),
            'system': platform.system(),
            'python_version': ".".join(platform.python_version_tuple())}
项目:zippy    作者:securesystemslab    | 项目源码 | 文件源码
def prompt(default, msg):
    py3 = int(platform.python_version_tuple()[0]) > 2
    value = ''
    if py3:
        value = input(msg + " ['" + default + "']: ")
    else:
        value = raw_input(msg + " [" + default + "]: ")
    return value if value != '' else default
项目:intel-manager-for-lustre    作者:intel-hpdd    | 项目源码 | 文件源码
def properties(self):
        """Returns less volatile node data suitable for host validation.

        If the fetched property is expensive to compute, it should be cached / updated less frequently.
        """
        zfs_not_installed, stdout, stderr = AgentShell.run_old(['which', 'zfs'])

        return {'zfs_installed': not zfs_not_installed,
                'distro': platform.linux_distribution()[0],
                'distro_version': float('.'.join(platform.linux_distribution()[1].split('.')[:2])),
                'python_version_major_minor': float("%s.%s" % (platform.python_version_tuple()[0],
                                                               platform.python_version_tuple()[1])),
                'python_patchlevel': int(platform.python_version_tuple()[2]),
                'kernel_version': platform.release()}
项目:automatic-repo    作者:WZQ1397    | 项目源码 | 文件源码
def get_python_version_tuple(self):
        '''Returns the Python version as tuple (major, minor, patchlevel) of strings'''
        return platform.python_version_tuple()
项目:scorep_binding_python    作者:score-p    | 项目源码 | 文件源码
def fix_shebang(file_path, python_version):
    """Rewrite the  shebang for the used major python version of the install,
    use simply sed from OS"""
    print("fix python version")
    # accept array of python version from platform.python_version_tuple()
    # fix shebang only with major python version
    sed = "sed -i 's/#!.*\/usr\/bin\/.*python.*$/#!\/usr\/bin\/env python{}/'"\
            .format(python_version[0], python_version[1])
    # bring command together with file path
    cmd = ' '.join([sed, file_path])
    # execute the sed command and replace in place
    os.system(cmd)

# Get current Python version
项目:coscmd    作者:tencentyun    | 项目源码 | 文件源码
def requirements():
    with open('requirements.txt', 'r') as fileobj:
        requirements = [line.strip() for line in fileobj]

        version = python_version_tuple()

        if version[0] == 2 and version[1] == 6:
            requirements.append("argparse==1.4.0")
        return requirements
项目:cloud-custodian    作者:capitalone    | 项目源码 | 文件源码
def test_class_constructor_only_accepts_py_modules_not_pyc(self):

        # Create a module with both *.py and *.pyc.
        self.py_with_pyc('foo.py')

        # Create another with a *.pyc but no *.py behind it.
        os.unlink(self.py_with_pyc('bar.py'))

        # Now: *.py takes precedence over *.pyc ...
        def get(name):
            return os.path.basename(importlib.import_module(name).__file__)
        self.assertTrue(get('foo'), 'foo.py')
        try:
            # ... and while *.pyc is importable ...
            self.assertTrue(get('bar'), 'bar.pyc')
        except ImportError:
            try:
                # (except on PyPy)
                # http://doc.pypy.org/en/latest/config/objspace.lonepycfiles.html
                self.assertEqual(platform.python_implementation(), 'PyPy')
            except AssertionError:
                # (... aaaaaand Python 3)
                self.assertEqual(platform.python_version_tuple()[0], '3')
        else:
            # ... we refuse it.
            with self.assertRaises(ValueError) as raised:
                PythonPackageArchive('bar')
            msg = raised.exception.args[0]
            self.assertTrue(msg.startswith('Could not find a *.py source file'))
            self.assertTrue(msg.endswith('bar.pyc'))

        # We readily ignore a *.pyc if a *.py exists.
        archive = PythonPackageArchive('foo')
        archive.close()
        self.assertEqual(archive.get_filenames(), ['foo.py'])
        with archive.get_reader() as reader:
            self.assertEqual(b'42', reader.read('foo.py'))
项目:obsoleted-vpduserv    作者:InfraSIM    | 项目源码 | 文件源码
def test_log_unicode(self):
        msg = "abc?÷"
        filename_send = tempfile.mktemp()
        filename_read = tempfile.mktemp()
        p = pexpect.spawnu('cat')
        if platform.python_version_tuple() < ('3', '0', '0'):
            import codecs
            def open(fname, mode, **kwargs):
                if 'newline' in kwargs:
                    del kwargs['newline']
                return codecs.open(fname, mode, **kwargs)
        else:
            import io
            open = io.open

        p.logfile_send = open(filename_send, 'w', encoding='utf-8')
        p.logfile_read = open(filename_read, 'w', encoding='utf-8')
        p.sendline(msg)
        p.sendeof()
        p.expect(pexpect.EOF)
        p.close()
        p.logfile_send.close()
        p.logfile_read.close()

        # ensure the 'send' log is correct,
        with open(filename_send, 'r', encoding='utf-8') as f:
            self.assertEqual(f.read(), msg + '\n\x04')

        # ensure the 'read' log is correct,
        with open(filename_read, 'r', encoding='utf-8', newline='') as f:
            output = f.read().replace(_CAT_EOF, '')
            self.assertEqual(output, (msg + '\r\n')*2 )
项目:mt7687-serial-uploader    作者:will127534    | 项目源码 | 文件源码
def calc_checksum(self, data, checksum=0):
        '''
        Calculate the checksum for a given block of data, can also be used to
        update a checksum.

            >>> csum = modem.calc_checksum('hello')
            >>> csum = modem.calc_checksum('world', csum)
            >>> hex(csum)
            '0x3c'

        '''
        if platform.python_version_tuple() >= ('3', '0', '0'):
            return (sum(data) + checksum) % 256
        else:
            return (sum(map(ord, data)) + checksum) % 256
项目:teleport    作者:eomsoft    | 项目源码 | 文件源码
def __init__(self):
        _this_path = os.path.abspath(os.path.dirname(__file__))

        self.root_path = os.path.abspath(os.path.join(_this_path, '..', '..', '..'))
        self.build_path = os.path.abspath(os.path.join(_this_path, '..', '..'))
        self.builder_path = os.path.join(self.build_path, 'builder')
        self.win32_tools_path = os.path.join(self.build_path, 'tools', 'win32')

        self.is_py2 = sys.version_info[0] == 2
        self.is_py3 = sys.version_info[0] == 3

        self.py_ver = platform.python_version_tuple()
        self.py_ver_str = '%s%s' % (self.py_ver[0], self.py_ver[1])
        self.py_exec = sys.executable

        self.bits = self.BITS_32
        self.bits_str = 'x86'

        _bits = platform.architecture()[0]
        if _bits == '64bit':
            self.bits = self.BITS_64
            self.bits_str = 'x64'

        self.is_win = False
        self.is_win_x64 = False
        self.is_linux = False
        self.is_macos = False

        _os = platform.system().lower()
        self.plat = ''
        if _os == 'windows':
            self.is_win = True
            self.plat = 'windows'
            self.is_win_x64 = 'PROGRAMFILES(X86)' in os.environ
        elif _os == 'linux':
            self.is_linux = True
            self.plat = 'linux'
        elif _os == 'darwin':
            self.is_macos = True
            self.plat = 'macos'
项目:mysqlbinlog_flashback    作者:58daojia-dba    | 项目源码 | 文件源码
def test_encoding_latin1(self):
        db = copy.copy(self.database)
        db["charset"] = "latin1"
        self.connect_conn_control(db)

        if platform.python_version_tuple()[0] == "2":
            string = unichr(233)
        else:
            string = "\u00e9"

        create_query = "CREATE TABLE test (test CHAR(12)) CHARACTER SET latin1 COLLATE latin1_bin;"
        insert_query = b"INSERT INTO test VALUES('" + string.encode('latin-1') + b"');"
        event = self.create_and_insert_value(create_query, insert_query)
        self.assertEqual(event.rows[0]["values"]["test"], string)
项目:mysqlbinlog_flashback    作者:58daojia-dba    | 项目源码 | 文件源码
def test_encoding_utf8(self):
        if platform.python_version_tuple()[0] == "2":
            string = unichr(0x20ac)
        else:
            string = "\u20ac"

        create_query = "CREATE TABLE test (test CHAR(12)) CHARACTER SET utf8 COLLATE utf8_bin;"
        insert_query = b"INSERT INTO test VALUES('" + string.encode('utf-8') + b"')"

        event = self.create_and_insert_value(create_query, insert_query)
        self.assertMultiLineEqual(event.rows[0]["values"]["test"], string)
项目:3d-DenseNet    作者:bityangke    | 项目源码 | 文件源码
def save_path(self):
    try:
      save_path = self._save_path
      model_path = self._model_path
    except AttributeError:
      save_path = 'saves/%s' % self.model_identifier
      if platform.python_version_tuple()[0] is '2':
        if not os.path.exists(save_path):
          os.makedirs(save_path)
      else:
        os.makedirs(save_path, exist_ok=True)
      model_path = os.path.join(save_path, 'model.chkpt')
      self._save_path = save_path
      self._model_path = model_path
    return save_path, model_path
项目:3d-DenseNet    作者:bityangke    | 项目源码 | 文件源码
def logs_path(self):
    try:
      logs_path = self._logs_path
    except AttributeError:
      logs_path = 'logs/%s' % self.model_identifier
      if self.renew_logs:
        shutil.rmtree(logs_path, ignore_errors=True)
      if platform.python_version_tuple()[0] is '2':
        if not os.path.exists(logs_path):
          os.makedirs(logs_path)
      else:
        os.makedirs(logs_path, exist_ok=True)
      self._logs_path = logs_path
    return logs_path
项目:itango    作者:tango-controls    | 项目源码 | 文件源码
def get_entry_points():
    major = int(platform.python_version_tuple()[0])
    name = 'itango3' if major == 3 else 'itango'
    return {
        "console_scripts": ["{0} = itango:run".format(name)],
        "gui_scripts": ["{0}-qt = itango:run_qt".format(name)]}
项目:tools    作者:InfraSIM    | 项目源码 | 文件源码
def test_log_unicode(self):
        msg = "abc?÷"
        filename_send = tempfile.mktemp()
        filename_read = tempfile.mktemp()
        p = pexpect.spawnu('cat')
        if platform.python_version_tuple() < ('3', '0', '0'):
            import codecs
            def open(fname, mode, **kwargs):
                if 'newline' in kwargs:
                    del kwargs['newline']
                return codecs.open(fname, mode, **kwargs)
        else:
            import io
            open = io.open

        p.logfile_send = open(filename_send, 'w', encoding='utf-8')
        p.logfile_read = open(filename_read, 'w', encoding='utf-8')
        p.sendline(msg)
        p.sendeof()
        p.expect(pexpect.EOF)
        p.close()
        p.logfile_send.close()
        p.logfile_read.close()

        # ensure the 'send' log is correct,
        with open(filename_send, 'r', encoding='utf-8') as f:
            self.assertEqual(f.read(), msg + '\n\x04')

        # ensure the 'read' log is correct,
        with open(filename_read, 'r', encoding='utf-8', newline='') as f:
            output = f.read().replace(_CAT_EOF, '')
            self.assertEqual(output, (msg + '\r\n')*2 )
项目:allure-python    作者:allure-framework    | 项目源码 | 文件源码
def platform_label():
    major_version, _, __ = platform.python_version_tuple()
    implementation = platform.python_implementation()
    return '{implementation}{major_version}'.format(implementation=implementation.lower(),
                                                    major_version=major_version)
项目:teleport    作者:eomsoft    | 项目源码 | 文件源码
def __init__(self):
        # self.dist_linux = ['ubuntu', 'centos', 'redhat']
        # self.dist_all = self.dist_linux + ['windows', 'macos']
        self.dist_all = ['windows', 'linux', 'macos']

        self.is_py2 = sys.version_info[0] == 2
        self.is_py3 = sys.version_info[0] == 3

        self.target = TARGET_RELEASE
        self.target_path = 'release'

        _py_ver = platform.python_version_tuple()
        self.py_ver = '%s%s' % (_py_ver[0], _py_ver[1])

        self.bits = BITS_32
        self.bits_path = 'x86'

        _bits = platform.architecture()[0]
        if _bits == '64bit':
            self.bits = BITS_64
            self.bits_path = 'x64'

        _os = platform.system().lower()

        self.dist = ''
        if _os == 'windows':
            self.dist = 'windows'
        elif _os == 'linux':
            self.dist = 'linux'
            # (dist, ver, sys_id) = platform.dist()
            # dist = dist.lower()
            # if dist in self.dist_linux:
            #     self.dist = dist
            # else:
            #     raise RuntimeError('unsupported linux dist: %s' % dist)
        elif _os == 'darwin':
            self.dist = 'macos'

        self.host_os = self.dist
        if self.host_os == 'windows':
            self.host_os_is_win_x64 = 'PROGRAMFILES(X86)' in os.environ


        self.make_dist_path()