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