折腾:
【已解决】python中的相对路径导入库失败No module named
期间,需要去把当前项目的目录结构的,包括文件和文件夹:
以树形,带缩进的方式去显示
试了试ls的-r,没有类似效果:
<code>(debug_nlp-wDGPvi3o) [root@xx-general-01 nlp]# ll -r total 4 </code>
(后来
Linux下的tree命令 –Linux下目录树查看 – CSDN博客
知道了:
<code>ls -R </code>
但是还是不够好。)
搜:
linux ls 目录树缩进
linux tree命令–显示目录的树形结构 – CSDN博客
Linux下的tree命令 –Linux下目录树查看 – CSDN博客
期间也多知道了个ls的-F参数的效果:
<code>(debug_nlp-wDGPvi3o) [root@xx-general-01 nlp]# ls -F xxx/ (debug_nlp-wDGPvi3o) [root@xx-general-01 nlp]# cd xxx/ (debug_nlp-wDGPvi3o) [root@xx-general-01 xxx]# ll total 32 drwxr-xr-x 2 root root 4096 Jun 6 17:18 conf -rw-r--r-- 1 root root 0 Jun 7 10:21 __init__.py drwxr-xr-x 3 root root 4096 Jun 6 17:18 nlp -rw-r--r-- 1 root root 201 May 29 15:19 Pipfile -rw-r--r-- 1 root root 5745 May 29 15:20 Pipfile.lock drwxr-xr-x 5 root root 4096 Jun 7 10:22 processData -rw-r--r-- 1 root root 2462 Jun 6 17:43 README.md drwxr-xr-x 3 root root 4096 Jun 7 10:55 util (debug_nlp-wDGPvi3o) [root@xx-general-01 xx]# ls -F conf/ __init__.py nlp/ Pipfile Pipfile.lock processData/ README.md util/ (debug_nlp-wDGPvi3o) [root@xx-general-01 xxx]# ls -lF total 32 drwxr-xr-x 2 root root 4096 Jun 6 17:18 conf/ -rw-r--r-- 1 root root 0 Jun 7 10:21 __init__.py drwxr-xr-x 3 root root 4096 Jun 6 17:18 nlp/ -rw-r--r-- 1 root root 201 May 29 15:19 Pipfile -rw-r--r-- 1 root root 5745 May 29 15:20 Pipfile.lock drwxr-xr-x 5 root root 4096 Jun 7 10:22 processData/ -rw-r--r-- 1 root root 2462 Jun 6 17:43 README.md drwxr-xr-x 3 root root 4096 Jun 7 10:55 util/ </code>
【总结】
然后试试tree的效果
<code>(debug_nlp-wDGPvi3o) [root@xx-general-01 xx]# tree . ├── conf │ └── main.conf ├── __init__.py ├── nlp │ └── dialog │ ├── AccessData.py │ ├── Analyzer.py │ ├── config │ │ └── config.ini │ ├── data │ │ ├── __init__.py │ │ └── reply.txt │ ├── DialogueManager.py │ ├── files │ │ ├── control.txt │ │ └── test.txt │ ├── GenerateResponse.py │ ├── __init__.py │ ├── intent.py │ ├── SearchData.py │ └── tmp.py ├── Pipfile ├── Pipfile.lock ├── processData │ ├── __init__.py │ ├── mysqlQa │ │ ├── __init__.py │ │ ├── MongodbToMysqlQa.py │ │ ├── README.md │ │ └── vocabulary.txt │ ├── mysqlThesaurus │ │ ├── vocabularyToMysql.py │ │ └── \350\257\215\346\261\207\350\241\250\ 180531.xlsx │ └── other │ └── to_delete │ ├── resource.2018.1.29.xlsx │ ├── resource.xlsx │ └── xlstomysql.py ├── README.md └── util ├── configs.py ├── crifanLib │ ├── crifanBeautifulsoup.py │ ├── crifanCookie.py │ ├── crifanDatetime.py │ ├── crifanEmail.py │ ├── crifanFile.py │ ├── crifanGeography.py │ ├── crifanHtml.py │ ├── crifanHttp.py │ ├── crifanList.py │ ├── crifanLogging.py │ ├── crifanMath.py │ ├── crifanMysql.py │ ├── crifanOpenpyxl.py │ ├── crifanString.py │ ├── crifanSystem.py │ ├── crifanTemplate.py │ ├── crifanUrl.py │ └── __init__.py ├── dbcon.py ├── __init__.py └── paths.py 13 directories, 50 files </code>
加上-F -》文件夹后面加上斜杠:
<code>(debug_nlp-wDGPvi3o) [root@xx-general-01 xx]# tree -F . ├── conf/ │ └── main.conf ├── __init__.py ├── nlp/ │ └── dialog/ │ ├── AccessData.py │ ├── Analyzer.py │ ├── config/ │ │ └── config.ini │ ├── data/ │ │ ├── __init__.py │ │ └── reply.txt │ ├── DialogueManager.py │ ├── files/ │ │ ├── control.txt │ │ └── test.txt │ ├── GenerateResponse.py │ ├── __init__.py │ ├── intent.py │ ├── SearchData.py │ └── tmp.py ├── Pipfile ├── Pipfile.lock ├── processData/ │ ├── __init__.py │ ├── mysqlQa/ │ │ ├── __init__.py │ │ ├── MongodbToMysqlQa.py │ │ ├── README.md │ │ └── vocabulary.txt │ ├── mysqlThesaurus/ │ │ ├── vocabularyToMysql.py │ │ └── \350\xxx50\ 180531.xlsx │ └── other/ │ └── to_delete/ │ ├── resource.2018.1.29.xlsx │ ├── resource.xlsx │ └── xlstomysql.py ├── README.md └── util/ ├── configs.py ├── crifanLib/ │ ├── crifanBeautifulsoup.py │ ├── crifanCookie.py │ ├── crifanDatetime.py │ ├── crifanEmail.py │ ├── crifanFile.py │ ├── crifanGeography.py │ ├── crifanHtml.py │ ├── crifanHttp.py │ ├── crifanList.py │ ├── crifanLogging.py │ ├── crifanMath.py │ ├── crifanMysql.py │ ├── crifanOpenpyxl.py │ ├── crifanString.py │ ├── crifanSystem.py │ ├── crifanTemplate.py │ ├── crifanUrl.py │ └── __init__.py ├── dbcon.py ├── __init__.py └── paths.py 13 directories, 50 files </code>
带上-C,彩色的输出:
完整的-CF的效果:
<code>(debug_nlp-wDGPvi3o) [root@xx-general-01 xx]# tree -CF . ├── conf/ │ └── main.conf ├── __init__.py ├── nlp/ │ └── dialog/ │ ├── AccessData.py │ ├── Analyzer.py │ ├── config/ │ │ └── config.ini │ ├── data/ │ │ ├── __init__.py │ │ └── reply.txt │ ├── DialogueManager.py │ ├── files/ │ │ ├── control.txt │ │ └── test.txt │ ├── GenerateResponse.py │ ├── __init__.py │ ├── intent.py │ ├── SearchData.py │ └── tmp.py ├── Pipfile ├── Pipfile.lock ├── processData/ │ ├── __init__.py │ ├── mysqlQa/ │ │ ├── __init__.py │ │ ├── MongodbToMysqlQa.py │ │ ├── README.md │ │ └── vocabulary.txt │ ├── mysqlThesaurus/ │ │ ├── vocabularyToMysql.py │ │ └── \350\257\215\346\261\207\350\241\250\ 180531.xlsx │ └── other/ │ └── to_delete/ │ ├── resource.2018.1.29.xlsx │ ├── resource.xlsx │ └── xlstomysql.py ├── README.md └── util/ ├── configs.py ├── crifanLib/ │ ├── crifanBeautifulsoup.py │ ├── crifanCookie.py │ ├── crifanDatetime.py │ ├── crifanEmail.py │ ├── crifanFile.py │ ├── crifanGeography.py │ ├── crifanHtml.py │ ├── crifanHttp.py │ ├── crifanList.py │ ├── crifanLogging.py │ ├── crifanMath.py │ ├── crifanMysql.py │ ├── crifanOpenpyxl.py │ ├── crifanString.py │ ├── crifanSystem.py │ ├── crifanTemplate.py │ ├── crifanUrl.py │ └── __init__.py ├── dbcon.py ├── __init__.py └── paths.py 13 directories, 50 files </code>
【后记】
后来想要在Mac中也使用tree,但是发现Mac中此处没有tree这个工具。
所以也要去安装和使用。
mac tree
mac 下的 tree 命令 终端展示你的目录树结构 一介布衣
<code>➜ gitbook_template git:(master) brew install tree ==&gt; Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3_2.leopard_64.bottle.tar.gz ######################################################################## 100.0% ==&gt; Pouring portable-ruby-2.3.3_2.leopard_64.bottle.tar.gz Updating Homebrew... ==&gt; Downloading https://homebrew.bintray.com/bottles/tree-1.7.0.high_sierra.bottle.1.tar.gz ######################################################################## 100.0% ==&gt; Pouring tree-1.7.0.high_sierra.bottle.1.tar.gz 🍺 /usr/local/Cellar/tree/1.7.0: 8 files, 114.3KB ➜ gitbook_template git:(master) ✗ which tree /usr/local/bin/tree ➜ gitbook_template git:(master) ✗ tree --version tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro </code>
看看效果:
<code>➜ gitbook_template git:(master) ✗ tree -CF . ├── GitbookCommon.mk ├── README.md ├── book_common.json ├── generateBookJson.py ├── gitbook_demo/ │ ├── Makefile │ └── book_current.json └── sshpass_password.txt 1 directory, 7 files </code>
换个目录,去试试
mac电脑终端怎么显示项目树:tree命令的使用 – 个人前端分享 – SegmentFault 思否
mac 下的 tree 命令 终端展示你的目录树结构 一介布衣
MAC终端中安装命令行工具TREE | Aitter’s Blog
“ -L level Descend only level directories deep.”
提到的-L 层级个数
对于目录:
试试:-L 2
<code>➜ youdao_note_summary git:(master) ✗ tree -CF -L 2 . ├── Makefile ├── README.md ├── book.json ├── book_current.json ├── debug/ │ ├── appendix/ │ ├── assets/ │ ├── gitbook/ │ ├── index.html │ ├── search_plus_index.json │ ├── sitemap.xml │ ├── youdao_background/ │ ├── youdao_common/ │ ├── youdao_cooperation/ │ └── youdao_note/ ├── node_modules/ │ ├── boolbase/ │ ├── cheerio/ │ ├── clipboard/ │ ├── core-util-is/ │ ├── css-select/ │ ├── css-what/ │ ├── delegate/ │ ├── dom-serializer/ │ ├── domelementtype/ │ ├── domhandler/ │ ├── domutils/ │ ├── entities/ │ ├── gitbook-plugin-alerts/ │ ├── gitbook-plugin-bootstrap-callout/ │ ├── gitbook-plugin-callouts/ │ ├── gitbook-plugin-copy-code-button/ │ ├── gitbook-plugin-disqus/ │ ├── gitbook-plugin-donate/ │ ├── gitbook-plugin-expandable-chapters-small/ │ ├── gitbook-plugin-ga/ │ ├── gitbook-plugin-github-buttons/ │ ├── gitbook-plugin-prism/ │ ├── gitbook-plugin-prism-themes/ │ ├── gitbook-plugin-search-plus/ │ ├── gitbook-plugin-sharing-plus/ │ ├── gitbook-plugin-sitemap-general/ │ ├── gitbook-plugin-splitter/ │ ├── gitbook-plugin-tbfed-pagefooter/ │ ├── gitbook-plugin-theme-comscore/ │ ├── gitbook-plugin-toolbar-button/ │ ├── good-listener/ │ ├── html-entities/ │ ├── htmlparser2/ │ ├── inherits/ │ ├── isarray/ │ ├── lodash/ │ ├── lodash.assignin/ │ ├── lodash.bind/ │ ├── lodash.defaults/ │ ├── lodash.filter/ │ ├── lodash.flatten/ │ ├── lodash.foreach/ │ ├── lodash.map/ │ ├── lodash.merge/ │ ├── lodash.pick/ │ ├── lodash.reduce/ │ ├── lodash.reject/ │ ├── lodash.some/ │ ├── minimist/ │ ├── mkdirp/ │ ├── moment/ │ ├── nth-check/ │ ├── prism-themes/ │ ├── prismjs/ │ ├── process-nextick-args/ │ ├── readable-stream/ │ ├── safe-buffer/ │ ├── select/ │ ├── sitemap/ │ ├── string_decoder/ │ ├── tiny-emitter/ │ ├── underscore/ │ ├── url-join/ │ └── util-deprecate/ ├── output/ │ └── youdao_note_summary/ └── src/ ├── README.md ├── SUMMARY.md ├── appendix/ ├── assets/ ├── youdao_background/ ├── youdao_common/ ├── youdao_cooperation/ └── youdao_note/ 82 directories, 9 files ➜ youdao_note_summary git:(master) ✗ </code>
效果还是不错的。