我为自动化项目运行了一系列脚本。其中一个脚本创建了一个名为“ 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”对于每台计算机都是不同的。谢谢!
答案 0 :(得分:1)
您要做的是访问环境变量,例如$HOME
,您的脚本将从那里接管。这会在Python的之上(任何脚本都可以做到)。
在Python中,您可以使用:
import os
HOME = os.getenv('HOME')
得到它。
一种更清洁(跨平台)的方法是使用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'))]
一种更灵活的方法是使用更高级别的程序包,例如appdir
,它提供了用于访问各种标准路径的跨平台方法。