你如何在python中获取当前本地目录[重复]

Posted

技术标签:

【中文标题】你如何在python中获取当前本地目录[重复]【英文标题】:how do you get the current local directory in python [duplicate] 【发布时间】:2013-11-27 23:22:18 【问题描述】:

我实际上认为我知道这个问题的答案,它是:

current_working_directory = os.getcwd().split("/")
local_working_directory = current_working_directory[len(current_working_directory)-1]

这对我有用。我检查过的其他帖子(例如:查找当前目录和文件的目录)似乎都没有解释如何获取本地目录,而不是整个目录路径。因此将其发布为已回答的问题。也许问题应该是:我如何发布我已经回答的问题的答案,以帮助其他人?嘿,也许有更好的答案:-)

【问题讨论】:

如果有an api for that... 见this 元帖子。拥有 100 多个代表的用户可以回答他们自己的问题。因为你有更少,你将不得不忍受八小时的等待期。如果您也想知道如何在 Fortran 中执行此操作,那很好,但请在单独的帖子中询问。 【参考方案1】:

我会使用basename

import os

path = os.getcwd()
print(os.path.basename(path))

【讨论】:

这实际上不起作用。这给了我一个目录,就在我目前所在的目录之上。? 在我的机器上工作。当我在“C:\users\kevin\projects”中运行它时,它会打印“projects”。这就是你的要求,对吧? 我的理解是,如果我的目录和你的一样,我的机器会打印出:“kevin”.. 我正在运行.. 使用 windows 与超级计算机交互.. 不是确定超级计算机使用什么系统。有趣的。请记住,我有一个可行的解决方案,所以现在这更像是一种好奇心。希望其他人会从您的回答中受益:-) 你使用的是dirname还是basename 我在尝试您的代码时使用了 basename..【参考方案2】:

试试这些

import os

print("Path at terminal when executing this file")
print(os.getcwd() + "\n")

print("This file path, relative to os.getcwd()")
print(__file__ + "\n")

print("This file full path (following symlinks)")
full_path = os.path.realpath(__file__)
print(full_path + "\n")

print("This file directory and name")
path, file = os.path.split(full_path)
print(path + ' --> ' + file + "\n")

print("This file directory only")
print(os.path.dirname(full_path))

取自这里:Find current directory and file's directory

编辑:这是另一个问题

current_folder_name = os.path.split(os.getcwd())

【讨论】:

current_folder_name = os.path.split(os.getcwd()) 给我一个错误:当前文件夹名称:/home/mikethe/previous_best_results/s4b Traceback(最近一次调用最后):文件“/ home/mikethe/bin/curve_fit.py",第 24 行,在 中 print 'current folder name: ' + current_folder_name1 TypeError: cannot concatenate 'str' and 'tuple' objects【参考方案3】:

os.path 包含许多有用的路径操作函数。我认为您正在寻找os.path.basename。最好使用os.path,因为您的程序将是跨平台的:目前,您的解决方案不适用于 Windows。获取您所在目录名称的跨平台方法是

import os
cwd = os.getcwd()

# use os.path.basename instead of your own function!
print(os.path.basename(cwd))

# Evaluates to True if you have Unix-y path separators: try it out!
os.path.basename(cwd) == cwd.split('/')[-1] 
>>> True

【讨论】:

有趣。很明显,产生输出的不是我与之交互的窗口。见我上面的评论。

以上是关于你如何在python中获取当前本地目录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中获取当前位置的日期和时间 [重复]

如何在 Python 中获取时间 [重复]

Python:如何将字典中的值提取到列表中->当前在结果中获取 dict_values() [重复]

Java,如何在“for each”循环中获取当前索引/键[重复]

python获取当前路径

如何在java中获取执行目录路径[重复]