1
BingoXuan 2018-03-26 12:29:32 +08:00 via Android
你 sys.append('岛国爱情片')写的是绝对路径还是相对路径?
|
3
mathzhaoliang OP @BingoXuan 相对路径,我写的 sys.append("./岛国爱情片 /")
|
4
BingoXuan 2018-03-26 12:52:08 +08:00 via Android
@mathzhaoliang 我记得是不接受相对路径的,不妨试一下把路径打印出来看看。我建议设计路径统一写绝对路径,通过 main 的__file__来对子目录进行操作。可以试一下 sys.path.append(os.path.dirname(__file__) +'/岛国爱情片')增加路径。写得不优雅,你看看行不行。
|
5
mathzhaoliang OP @BingoXuan 谢谢你的热心回复!我也是这么写的,确实可以。
|
6
BingoXuan 2018-03-26 12:54:31 +08:00 via Android
@BingoXuan
又漏了,要加上 os.path.abspath 方法判断绝对路径,然后用 os.path.dirname 方法获取所在文件夹路径,填上子目录就好了 |
7
mathzhaoliang OP @BingoXuan 不对,刚才看错了,这样还是不行
|
8
mathzhaoliang OP @BingoXuan 求详解
|
9
BingoXuan 2018-03-26 12:57:37 +08:00 via Android
@mathzhaoliang
现在接手的项目一堆路径坑,同事用 IDE 写的路径自动配置是没问题,问题一到生产环境就报路径错误,每次都要我改,改习惯了 |
10
mathzhaoliang OP @BingoXuan 还没明白,为什么要 abspath 判断绝对路径呢?
|
11
scola 2018-03-26 13:01:33 +08:00
我之前写的, 把一个目录下包含子目录的所有 java 代码, 放到一个 txt 里面保存
你可以参考一下 https://gist.github.com/scola/6cb68ef9d0645c332a43f5ee14e02529 |
12
BingoXuan 2018-03-26 13:02:38 +08:00 via Android
@mathzhaoliang
把 sys.path 打印出来后,看看岛国爱情片的路径是不是有效的绝对路径。你加上 os.path.abspath 获取绝对路径了吗? |
13
BingoXuan 2018-03-26 13:05:20 +08:00 via Android
@mathzhaoliang
因为 Python 内部一般用相对路径,但系统调用是绝对路径,所以增加路径时候一定要走绝对路径,不然系统并不知道真实路径 |
14
mathzhaoliang OP @BingoXuan 打印出来以后显示子目录在 sys.path 里面,但是还是打不开。
|
15
mathzhaoliang OP @BingoXuan
这样对否? path = os.path.abspath(__file__) path = os.path.dirname(path) sys.path.append(path + '/岛国爱情片 /') print(sys.path) |
16
BingoXuan 2018-03-26 13:17:27 +08:00 via Android
@mathzhaoliang 这两天病了状态不好,也许我理解错了。我一开始理解是岛国爱情片里面的 py 模块,如果你是打开普通文件的话,使用 os.listdir 搜索对应文件,找到其绝对路径,再进行操作。
|
17
weeevv 2018-03-26 13:21:31 +08:00 via Android
glob 加 正则表达式?
|
18
mathzhaoliang OP @BingoXuan 我不是要搜索单个文件,而是要把整个子目录里面的普通文件加入搜索路径,这样写 open(f, "r") 的时候只写 f 的文件名就行,不用再写路径。
|
19
BingoXuan 2018-03-26 13:36:45 +08:00 via Android
那就只可以通过一个函数遍历 sys.path 里面所有路径是否存在某一名字的文件了,sys.path 只负责 py 文件搜索不负责普通文件
|
20
mathzhaoliang OP @BingoXuan 明白了,谢谢!
|