Pycharm 的 Scientific 模式下,加载数据集的问题

2019-10-10 00:50:43 +08:00
 shangyes

比如项目结构如下

─Project
│  ├─a
│  │  ├─b.csv
│  │  └─c.py
│  └─d.py

在 Scientific 模式下按单元块运行,默认的当前路径是Project/,也就是项目的根目录

这样的话,想要在 c.py 中读取 b.csv ,就只能写出完整的绝对路径

目录结构简单还好,我的项目下有十几个题目,每个都有单独的文件夹,其中有些数据集又根据一些层级放在了不同深度的路径里,有些文件夹的名称也比较长,所以每次都绝对路径的话比较麻烦,也不方便以后单独拿出来或者在别的机子上跑

万能的 V2EX 小伙伴们有人知道怎么修改 Scientifc 模式下的默认当前路径

2414 次点击
所在节点    Python
4 条回复
no1xsyzy
2019-10-10 03:08:45 +08:00
import sys
from pathlib import Path
Path(sys.argv[0]).parent/"b.csv"

1 分钟手撸,可能有错
shangyes
2019-10-10 11:10:55 +08:00
@no1xsyzy 并不能获取到当前脚本的路径,因为 scientific 模式下是通过 Pycharm 下的 helpers/pydev/pydevconsole.py 来执行单元块的
shangyes
2019-10-10 11:31:05 +08:00
解决了,Pycharm 自动的`sys.path.extend`了当前的路径,通过`sys.path[-2]`可以取出当前路径
no1xsyzy
2019-10-10 18:49:28 +08:00
其实最后的办法也有把路径做成配置的。
还有就是数据应该分离,除非你有很好的理由不分离

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607676

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX