繁体   English   中英

在python中获取没有完整路径的当前目录

[英]Getting just the current directory without the full path in python

如果这是一个已经解决的问题,我道歉。 我想在运行Python脚本时或在Python中获取当前目录。 以下将返回包括当前目录的完整路径:

os.getcwd()

我也可以一直到当前目录的路径:

os.path.dirname(os.getcwd())

使用os.path.split将返回与上面相同的内容,加上当前文件夹,但最后我得到了一个我想要的对象:

(thing_I_dont_want, thing_I_want) = os.path.split(os.getcwd())

有没有办法可以得到我想要的东西,当前文件夹,而不创建任何我不想要的对象? 或者,有什么我可以代替变量thing_I_dont_want来阻止它被创建(例如(*, thing_I_want) )?

谢谢!

像这样:

os.path.split(os.getcwd())[1]

虽然os.path.split返回一个元组,但您不需要解压缩它。 您只需选择所需的项目,然后忽略您不需要的项目。

使用os.path.split

>>> os.path.split(os.getcwd())
('/home/user', 'py')
>>> os.path.split(os.getcwd())[-1]
'py'

os.path.split帮助:

>>> print os.path.split.__doc__
Split a pathname.  Returns tuple "(head, tail)" where "tail" is
    everything after the final slash.  Either part may be empty.

你可以试试这个,虽然它并不安全(因为所有给定的解决方案)如果路径名与结束/因为某些原因:

os.path.basename(os.getcwd())

表示“这是我不想要的东西”的标准pythonic方式是将其称为_ - 如:

_, thing_I_want = os.path.split(os.getcwd())

请注意,这没有什么特别之处。 该对象是在os.split()中创建的,它仍然被返回并给出了名称_ - 但是这确实让那些阅读代码的人明白你并不关心那个特定的元素。

除了作为向其他人发出的信号之外,大多数IDE和代码验证器都会理解名为_的变量将被忽略,并且他们不会做出类似警告你从未使用它的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM