首页 > 解决方案 > 将 CWD 设置为文件位置

问题描述

我想在我的脚本所在的位置获取文件列表。

所以假设我有一个目录 -foo/bar

我的脚本在foo/bar/script.py

我从运行脚本foo

我的脚本是这样的:

import os

print(os.listdir())

但是当我从 运行它时foo,我得到的内容foo不是foo/bar。我想获取脚本目录的内容,而不是当前工作目录。

那么我该怎么做呢?

标签: pythonpython-3.x

解决方案


试试这个:获取当前位置sys.args并更改您的位置,然后获取列表。

import os, sys

#print(sys.argv[0]) #check this for file location

os.chdir('\\'.join(sys.argv[0].split('\\')[:-1]))
print(os.listdir())

PS:我在 Windows 上测试了这个,如果你在 mac 或 linux 上,你将不得不拆分'/'


推荐阅读