Windows 上 Python 的 os.listdir 行为

Python#39;s os.listdir behaviour on Windows(Windows 上 Python 的 os.listdir 行为)
本文介绍了Windows 上 Python 的 os.listdir 行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

>>> import os
>>> os.chdir('c:/python27')
>>> os.listdir('c:')
['Tools', 'include', 'python.exe', 'libs', 'DLLs', 'Lib', 'NEWS.txt',
'w9xpopen.exe', 'Doc', 'pythonw.exe', 'LICENSE.txt', 'README.txt', 'tcl']
>>> os.listdir('c:/')
['users', 'Program Files', 'Python27', 'windows']

为什么c:"后面的/"会影响结果?有没有办法让 os.listdir('c:') 返回 "c:/" 的内容?

Why is the "/" after "c:" affecting the outcome? Is there a way to get os.listdir('c:') to return the contents of "c:/"?

推荐答案

这不是 Python 特有的,它本质上是一个 Windows 问题.

This is not specific to Python, it's a Windows question at heart.

在 Windows 中,C:C:(或者,C:/)具有完全不同的含义:

In Windows C: and C: (or, alternatively C:/) have quite different meanings:

  • C:指的是驱动器上的当前目录C:
  • C:(和C:/)指的是驱动器的根目录C:
  • C: refers to the current directory on the drive C:
  • C: (and C:/) refers to the root directory of the drive C:

虽然类 UNIX 操作系统只有一个当前目录",但 Windows 有两个独立的概念:

While UNIX-like operating systems simply have a "current directory", Windows has two separate notions:

  • 当前驱动器和
  • 当前目录每个驱动器

所以当前驱动器可以是D:C:上的当前目录可以是Windows(实际上是C:Windows)和 D: 上的当前目录可能是 Data(实际上是 D:Data).在这种情况下,解决方案的工作方式如下:

So the current drive could be D:, the current directory on C: could be Windows (effectively C:Windows) and the current directory on D: could be Data (effectively D:Data). In this scenario resolution would work like this:

  • . 将引用 D:Data
  • 将引用 D:
  • C: 将引用 C:Windows
  • C:Foo 将引用 C:Foo
  • . would refer to D:Data
  • would refer to D:
  • C: would refer to C:Windows
  • C:Foo would refer to C:Foo

因此,如果您想获得有关特定目录的信息,则应始终使用完整路径包括驱动器和目录,如 C:.

So if you want to have information about a specific directory, you should always use a full path including both a drive and a directory, such as C:.

这篇关于Windows 上 Python 的 os.listdir 行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How can I read system information in Python on Windows?(如何在 Windows 上读取 Python 中的系统信息?)
How to get the newest directory in Python(如何在 Python 中获取最新目录)
Python - Get Path of Selected File in Current Windows Explorer(Python - 在当前 Windows 资源管理器中获取所选文件的路径)
Print out the whole directory tree(打印出整个目录树)
Python os.stat and unicode file names(Python os.stat 和 unicode 文件名)
A system independent way using python to get the root directory/drive on which python is installed(使用 python 获取安装 python 的根目录/驱动器的系统独立方式)