當前位置: 首頁>>代碼示例>>Python>>正文


Python path.decode方法代碼示例

本文整理匯總了Python中os.path.decode方法的典型用法代碼示例。如果您正苦於以下問題:Python path.decode方法的具體用法?Python path.decode怎麽用?Python path.decode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在os.path的用法示例。


在下文中一共展示了path.decode方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: get_home

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def get_home():
    """Find user's home directory if possible.
    Otherwise, returns None.

    :see:
        http://mail.python.org/pipermail/python-list/2005-February/325395.html
    """
    try:
        if six.PY2 and sys.platform == 'win32':
            path = os.path.expanduser(b"~").decode(sys.getfilesystemencoding())
        else:
            path = os.path.expanduser("~")
    except ImportError:
        # This happens on Google App Engine (pwd module is not present).
        pass
    else:
        if os.path.isdir(path):
            return path
    for evar in ('HOME', 'USERPROFILE', 'TMP'):
        path = os.environ.get(evar)
        if path is not None and os.path.isdir(path):
            return path
    return None 
開發者ID:underworldcode,項目名稱:UWGeodynamics,代碼行數:25,代碼來源:__init__.py

示例2: decode_path

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def decode_path(path):
    """
    Ensure `path` is Unicode. Return `nodes.reprunicode` object.

    Decode file/path string in a failsave manner if not already done.
    """
    # see also http://article.gmane.org/gmane.text.docutils.user/2905
    if isinstance(path, str):
        return path
    try:
        path = path.decode(sys.getfilesystemencoding(), 'strict')
    except AttributeError: # default value None has no decode method
        return nodes.reprunicode(path)
    except UnicodeDecodeError:
        try:
            path = path.decode('utf-8', 'strict')
        except UnicodeDecodeError:
            path = path.decode('ascii', 'replace')
    return nodes.reprunicode(path) 
開發者ID:skarlekar,項目名稱:faces,代碼行數:21,代碼來源:__init__.py

示例3: decode_path

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def decode_path(path):
    """
    Ensure `path` is Unicode. Return `nodes.reprunicode` object.

    Decode file/path string in a failsave manner if not already done.
    """
    # see also http://article.gmane.org/gmane.text.docutils.user/2905
    if isinstance(path, unicode):
        return path
    try:
        path = path.decode(sys.getfilesystemencoding(), 'strict')
    except AttributeError: # default value None has no decode method
        return nodes.reprunicode(path)
    except UnicodeDecodeError:
        try:
            path = path.decode('utf-8', 'strict')
        except UnicodeDecodeError:
            path = path.decode('ascii', 'replace')
    return nodes.reprunicode(path) 
開發者ID:skarlekar,項目名稱:faces,代碼行數:21,代碼來源:__init__.py

示例4: getrealpath

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def getrealpath(self, root, path):
        '''
        Return the real path on disk from the query path, from a root path.
        The input path from URL might be absolute '/abc', or point to parent '../test',
        or even with UNC or drive '\\test\abc', 'c:\test.abc',
        which creates security issues when accessing file contents with the path.
        With getrealpath, these paths cannot point to files beyond the root path.
        
        :param root: root path of disk files, any query is limited in root directory.
        
        :param path: query path from URL.
        '''
        if not isinstance(path, str):
            path = path.decode(self.encoding)
        # In windows, if the path starts with multiple / or \, the os.path library may consider it an UNC path
        # remove them; also replace \ to /
        path = pathrep.subn('/', path)[0]
        # The relative root is considered ROOT, eliminate any relative path like ../abc, which create security issues
        # We can use os.path.relpath(..., '/') but python2.6 os.path.relpath is buggy 
        path = os.path.normpath(os.path.join('/', path))
        # The normalized path can be an UNC path, or event a path with drive letter
        # Send bad request for these types
        if os.path.splitdrive(path)[0]:
            raise HttpInputException('Bad path')
        return os.path.join(root, path[1:]) 
開發者ID:hubo1016,項目名稱:vlcp,代碼行數:27,代碼來源:http.py

示例5: _decode_filesystem_path

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def _decode_filesystem_path(path):
    if isinstance(path, bytes):
        return path.decode(sys.getfilesystemencoding())
    else:
        return path 
開發者ID:underworldcode,項目名稱:UWGeodynamics,代碼行數:7,代碼來源:__init__.py

示例6: wait_for_thread_stopped

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def wait_for_thread_stopped(self, reason='breakpoint', line=None, file=None, name=None):
        '''
        :param file:
            utf-8 bytes encoded file or unicode
        '''
        stopped_event = self.wait_for_json_message(StoppedEvent)
        assert stopped_event.body.reason == reason
        json_hit = self.get_stack_as_json_hit(stopped_event.body.threadId)
        if file is not None:
            path = json_hit.stack_trace_response.body.stackFrames[0]['source']['path']
            if IS_PY2:
                if isinstance(file, bytes):
                    file = file.decode('utf-8')
                if isinstance(path, bytes):
                    path = path.decode('utf-8')

            if not path.endswith(file):
                raise AssertionError('Expected path: %s to end with: %s' % (path, file))
        if name is not None:
            assert json_hit.stack_trace_response.body.stackFrames[0]['name'] == name
        if line is not None:
            found_line = json_hit.stack_trace_response.body.stackFrames[0]['line']
            if not isinstance(line, (tuple, list)):
                line = [line]
            assert found_line in line, 'Expect to break at line: %s. Found: %s' % (line, found_line)
        return json_hit 
開發者ID:fabioz,項目名稱:PyDev.Debugger,代碼行數:28,代碼來源:test_debugger_json.py

示例7: __repr__

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def __repr__(self, *args, **kwargs):
        r = self.method.upper() + b' ' + self.path + (b', ' + self.connection.remoteaddr[0].encode(self.encoding)
                                                      if self.connection.remoteaddr
                                                      else b'')
        if not isinstance(r, str):
            return r.decode(self.encoding)
        else:
            return r 
開發者ID:hubo1016,項目名稱:vlcp,代碼行數:10,代碼來源:http.py

示例8: _tostr

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def _tostr(self, arg):
        if isinstance(arg, list):
            return [self._tostr(v) for v in arg]
        elif not isinstance(arg, str):
            return arg.decode(self.encoding)
        else:
            return arg 
開發者ID:hubo1016,項目名稱:vlcp,代碼行數:9,代碼來源:http.py

示例9: cookietostr

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def cookietostr(self):
        "Cookie values are bytes in Python3. This function Convert bytes to string with env.encoding(default to utf-8)."
        self.cookies = dict((k, (v.decode(self.encoding) if not isinstance(v, str) else v)) for k,v in self.cookies.items())
        return self.cookies 
開發者ID:hubo1016,項目名稱:vlcp,代碼行數:6,代碼來源:http.py

示例10: reload

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def reload(self, path):
        """
        Loads or reloads a module, given its file path. Thread safe.

        :type path: str
        """
        if not os.path.isfile(path):
            # we check if the file still exists here because some programs modify a file before deleting
            return

        if isinstance(path, bytes):
            path = path.decode()
        self.bot.loop.call_soon_threadsafe(lambda: asyncio.async(self._reload(path), loop=self.bot.loop)) 
開發者ID:CloudBotIRC,項目名稱:CloudBot,代碼行數:15,代碼來源:reloader.py

示例11: unload

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def unload(self, path):
        """
        Unloads a module, given its file path. Thread safe.

        :type path: str
        """
        if isinstance(path, bytes):
            path = path.decode()
        self.bot.loop.call_soon_threadsafe(lambda: asyncio.async(self._unload(path), loop=self.bot.loop)) 
開發者ID:CloudBotIRC,項目名稱:CloudBot,代碼行數:11,代碼來源:reloader.py

示例12: get_server_url

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def get_server_url():
    for path in load_config_paths(CONFIG_RESOURCE):
        path = os.path.join(path.decode(), SERVER_CONFIG_FILENAME)
        if os.path.isfile(path):
            with open(path) as f:
                return f.read().strip()
    parser.exit('Geofront server URL is not configured yet.\n'
                'Try `{0} start` command.'.format(parser.prog)) 
開發者ID:spoqa,項目名稱:geofront-cli,代碼行數:10,代碼來源:cli.py

示例13: start

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def start(args):
    """Set up the Geofront server URL."""
    for path in load_config_paths(CONFIG_RESOURCE):
        path = os.path.join(path.decode(), SERVER_CONFIG_FILENAME)
        if os.path.isfile(path):
            message = 'Geofront server URL is already configured: ' + path
            if args.force:
                print(message + '; overwriting...', file=sys.stderr)
            else:
                parser.exit(message)
    while True:
        server_url = input('Geofront server URL: ')
        if not server_url.startswith(('https://', 'http://')):
            print(server_url, 'is not a valid url.')
            continue
        elif not server_url.startswith('https://'):
            cont = input('It is not a secure URL. '
                         'https:// is preferred over http://. '
                         'Continue (y/N)? ')
            if cont.strip().lower() != 'y':
                continue
        break
    server_config_filename = os.path.join(
        save_config_path(CONFIG_RESOURCE).decode(),
        SERVER_CONFIG_FILENAME
    )
    with open(server_config_filename, 'w') as f:
        print(server_url, file=f)
    authenticate.call(args) 
開發者ID:spoqa,項目名稱:geofront-cli,代碼行數:31,代碼來源:cli.py

示例14: fix_mac_codesign

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def fix_mac_codesign():
    """If the running Python interpreter isn't property signed on macOS
    it's unable to get/set password using keyring from Keychain.

    In such case, we need to sign the interpreter first.

    https://github.com/jaraco/keyring/issues/219

    """
    global fix_mac_codesign
    logger = logging.getLogger(__name__ + '.fix_mac_codesign')
    p = subprocess.Popen(['codesign', '-dvvvvv', sys.executable],
                         stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = p.communicate()

    def prepend_lines(c, text):
        if not isinstance(text, str):
            text = text.decode()
        return ''.join(c + l for l in text.splitlines(True))
    logger.debug('codesign -dvvvvv %s:\n%s\n%s',
                 sys.executable,
                 prepend_lines('| ', stdout),
                 prepend_lines('> ', stderr))
    if b'\nSignature=' in stderr:
        logger.debug('%s: already signed', sys.executable)
        return
    logger.info('%s: not signed yet; try signing...', sys.executable)
    p = subprocess.Popen(['codesign', '-f', '-s', '-', sys.executable],
                         stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    os.waitpid(p.pid, 0)
    logger.debug('%s: signed\n%s\n%s',
                 sys.executable,
                 prepend_lines('| ', stdout),
                 prepend_lines('> ', stderr))
    logger.debug('respawn the equivalent process...')
    raise SystemExit(subprocess.call(sys.argv)) 
開發者ID:spoqa,項目名稱:geofront-cli,代碼行數:38,代碼來源:cli.py

示例15: pathparse

# 需要導入模塊: from os import path [as 別名]
# 或者: from os.path import decode [as 別名]
def pathparse(path):
        """Handle variations in a path argument.
        Cloud:              - Root of the defined cloud
        Cloud:some/path     - Supported with our without path leading '/'s
        X:                  - Windows drive letter
        X:\\some\\path      - Windows drive letter with absolute or relative path
        some/path           - Relative path from cwd (and on current drive on Windows)
        //server/path       - UNC paths are supported
        On Windows a one-character cloud name is not supported - it will be interprested as a drive letter.
        """
        
        if is_Linux and is_Py27:
            path = path.decode("utf-8")
        
        _cloud = False
        if ':' in path:
            if len(path) == 1:                                  # Handle corner case of ':' only passed in
                logging.error("ERROR  Path argument <{}> not a legal path".format(path)); exit()
            if path[1] == ':' and is_Windows:                   # Windows drive letter case
                path_base = path
                if not path_base.endswith('\\'):                # For consistency ensure the path ends with '/'
                    path_base += '/'
            else:                                               # Cloud case with optional path part
                path_FORMAT = re.compile(r'([\w-]+):(.*)')
                out = path_FORMAT.match(path)
                if out:
                    _cloud = True
                    cloud_name = out.group(1) + ':'
                    if cloud_name not in clouds:
                        logging.error("ERROR  Path argument <{}> not in list of configured Clouds: {}"
                                      .format(cloud_name, clouds)); exit()
                    path_part = out.group(2)
                    if path_part:
                        # if not path_part.startswith('/'):       # For consistency ensure the cloud path part starts and ends with /'s
                        #     path_part = '/' + path_part
                        if not (path_part.endswith('/') or path_part.endswith('\\')):    # 2nd check is for Windows paths
                            path_part += '/'
                    path_base = cloud_name + path_part
        else:                                                   # Local path (without Windows drive letter)
            path_base = path
            if not (path_base.endswith('/') or path_base.endswith('\\')):
                path_base += '/'

        if not _cloud:
            if not os.path.exists(path_base):
                logging.error("ERROR  Local path parameter <{}> cannot be accessed.  Path error?  Aborting"
                              .format(path_base)); exit()

        return path_base 
開發者ID:cjnaz,項目名稱:rclonesync-V2,代碼行數:51,代碼來源:rclonesync.py


注:本文中的os.path.decode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。