python - 将 CWD 设置为文件位置
问题描述
我想在我的脚本所在的位置获取文件列表。
所以假设我有一个目录 -foo/bar
我的脚本在foo/bar/script.py
我从运行脚本foo
我的脚本是这样的:
import os
print(os.listdir())
但是当我从 运行它时foo
,我得到的内容foo
不是foo/bar
。我想获取脚本目录的内容,而不是当前工作目录。
那么我该怎么做呢?
解决方案
试试这个:获取当前位置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 上,你将不得不拆分'/'
推荐阅读
- elasticsearch - 弹性搜索将多词标记组合到单个标记
- react-native - 检查是否在反应本机测试中调用了navigation.navigate
- c# - 无法添加 cookie 选项
- jhipster - 使用 JHipster 创建的项目可供所有人使用?
- ibm-watson - 如何根据网站搜索栏中的用户查询启用或禁用 Watson 助手
- python-3.x - 是否可以为 bdist_wheel 设置 top_level?
- c# - 如何让玩家在坠落时死亡?
- flutter - 颤振流行到新路线
- php - Drupal 在动态创建的元标记中转义 url
- dialogflow-es - 轮播中的项目不能在智能显示器上点击/选择