无论在python中的目录如何查找系统上的目录?

问题描述 投票:1回答:1

我为自动化项目运行了一系列脚本。其中一个脚本创建了一个名为“ cloned_git_repo”的文件夹。下一个脚本需要在该文件夹中查找文件以进行转换。如何获得Python脚本以自动进入该文件夹以进行工作?这是代码:

result = [y for x in os.walk('/Users/user.name/Desktop/automation_project/cloned_git_repo') for y in glob(os.path.join(x[0], '*.csv'))]

而不是对该目录路径进行硬编码,我如何使其自动进入'cloned_git_repo'并继续执行程序的其余部分。不能对其进行硬编码,因为不同计算机上的不同人将运行脚本,因此“ /Users/user.name/Desktop/automation_project/cloned_git_repo”对于每台计算机都是不同的。谢谢!

python glob
1个回答
1
投票

[您要做的是访问环境变量,例如$HOME,您的脚本将从那里接管。这有点像[[above Python(任何脚本都可以做到)。

在Python中,您可以使用:

import os HOME = os.getenv('HOME')

得到它。

更干净(和跨平台)的方法是使用os.path.expanduser(),例如:

os.path.expanduser()

在两种情况下,都应在import os


HOME = os.path.expanduser('~')
中获得路径的/Users/user.name部分,然后可以从那里获取它。

例如:

HOME

可能成为:

result = [ y for x in os.walk('/Users/user.name/Desktop/automation_project/cloned_git_repo') for y in glob(os.path.join(x[0], '*.csv'))]


更灵活的方法是使用更高级别的软件包,例如import os HOME = os.path.expanduser('~') result = [ y for x in os.walk(os.path.join(HOME, 'Desktop/automation_project/cloned_git_repo') for y in glob(os.path.join(x[0], '*.csv'))] ,它提供了用于访问各种标准路径的跨平台方法。
© www.soinside.com 2019 - 2024. All rights reserved.