日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中sys.path详解

發布時間:2024/1/18 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中sys.path详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://doudouclever.blog.163.com/blog/static/1751123102011722246231/

如何將路徑“永久"添加到sys.path?

sys.path是python的搜索模塊的路徑集,是一個list

可以在python 環境下使用sys.path.append(path)添加相關的路徑,但在退出python環境后自己添加的路徑就會自動消失了!

可以使用以下命令輸入當前python 的搜索路徑:

python -c"import sys;print '當前的python是:'+sys.prefix;print '\n'.join(sys.path)"

練習使用sys.path.append方法添加路徑,顯示退出python會消失!

python -c"import sys;print '當前的python是:'+sys.prefix;sys.path.append(r'E:\DjangoWord' ) ;print '\n'.join(sys.path)"

?

再次運行,會發現 自己添加路徑E:\DjangoWord()不存在了!

?

python -c"import sys;print '當前的python是:'+sys.prefix;print '\n'.join(sys.path)"

?

為解決這個問題,可以有以下方法:

?

?

將自己做的py文件放到 site_packages 目錄下:

?

下面命令顯示了 site-packages 目錄:

?

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib() "

?

?但是這樣做會導致一個問題,即各類模塊都放到此文件夾的話,會導致亂的問題,這一點是顯而易見的。

?

?注意,也不創建子文件夾,再將自己的模塊放到子文件夾解決問題,這會導致使用import 語句時錯誤。

?

?

使用pth文件,在 site-packages 文件中創建 .pth文件,將模塊的路徑寫進去,一行一個路徑,以下是一個示例,pth文件也可以使用注釋:

?

# .pth file for the??my project(這行是注釋)

E:\DjangoWord

E:\DjangoWord\mysite

E:\DjangoWord\mysite\polls

?

這個不失為一個好的方法,但存在管理上的問題,而且不能在不同的python版本中共享。

?

?

使用PYTHONPATH環境變量,在這個環境變量中輸入相關的路徑,不同的路徑之間用逗號(英文的!)分開,如果PYTHONPATH 變量還不存在,可以創建它!

?

路徑會自動加入到sys.path中,而且可以在不同的python版本中共享,應該是一樣較為方便的方法。

?

關于與python相關的環境變量有那些,請參考:

?

http://docs.python.org/using/cmdline.html???在頁面上找到PYTHONPATH

?

?

以下是該環境變量的描述:

?

PYTHONPATH?

?

Augment the default search path for module files. The format is the same as the shell’s PATH : one or more directory pathnames separated by os.pathsep (e.g. colons on Unix or semicolons on Windows). Non-existent directories are silently ignored.

?

In addition to normal directories, individual PYTHONPATH entries may refer to zipfiles containing pure Python modules (in either source or compiled form). Extension modules cannot be imported from zipfiles.

?

The default search path is installation dependent, but generally begins with prefix /lib/python version (see PYTHONHOME above). It is always appended to PYTHONPATH .

?

An additional directory will be inserted in the search path in front of PYTHONPATH as described above under Interface options . The search path can be manipulated from within a Python program as the variable sys.path .





轉自:http://book.51cto.com/art/201005/198555.htm

動態地改變Python搜索路徑


《Python Cookbook(第2版)中文版》第2章文件,本章呈現了操作文件中的數據以及操縱文件系統下的文件和目錄的一些技術,還包括了處理特定的文件格式以及存檔格式的內容,比如tar和zip格式。本節為大家介紹動態地改變Python搜索路徑。

2.21? 動態地改變Python搜索路徑

感謝:Robin Parmar

任務

模塊必須處于Python搜索路徑中才能被導入,但你不想設置個永久性的大路徑,因為那樣可能會影響性能,所以,你希望能夠動態地改變這個路徑。

解決方案

只需簡單地在Python的sys.path中加入一個"目錄",不過要小心重復的情況:

  • def?AddSysPath(new_path): ?
  • ??????"""?AddSysPath(new_path):給Python的sys.path增加一個"目錄" ?
  • ??????如果此目錄不存在或者已經在sys.path中了,則不操作 ?
  • ??????返回1表示成功,-1表示new_path不存在,0表示已經在sys.path中了 ?
  • ??????already?on?sys.path. ?
  • ??????""" ?
  • ??????import?sys,?os ?
  • ??????#?避免加入一個不存在的目錄 ?
  • ??????if?not?os.path.exists(new_path):?return?-1 ?
  • ??????#?將路徑標準化。?Windows是大小寫不敏感的,所以若確定在 ?
  • ??????#?Windows下,將其轉成小寫 ?
  • ??????new_path?=?os.path.abspath(new_path) ?
  • ??????if?sys.platform?==?'win32': ?
  • ????????????new_pathnew_path?=?new_path.lower(?) ?
  • ??????#?檢查當前所有的路徑 ?
  • ??????for?x?in?sys.path: ?
  • ????????????x?=?os.path.abspath(x) ?
  • ????????????if?sys.platform?==?'win32': ?
  • ???????????????????xx?=?x.lower(?) ?
  • ????????????if?new_path?in?(x,?x?+?os.sep): ?
  • ???????????????????return?0 ?
  • ??????sys.path.append(new_path) ?
  • ??????#?如果想讓new_path在sys.path處于最前 ?
  • ??????#?使用:sys.path.insert(0,?new_path) ?
  • ??????return?1 ?
  • if?_?_name_?_?==?'_?_main_?_': ?
  • ??????#?測試,顯示用法 ?
  • ??????import?sys ?
  • ??????print?'Before:' ?
  • ??????for?x?in?sys.path:?print?x ?
  • ??????if?sys.platform?==?'win32': ?
  • ??????????????print?AddSysPath('c:\\Temp') ?
  • ??????????????print?AddSysPath('c:\\temp') ?
  • ????else: ?
  • ??????????????print?AddSysPath('/usr/lib/my_modules') ?
  • ??????print?'After:' ?
  • ??????for?x?in?sys.path:?print?x?
  • 討論

    模塊要處于Python搜索路徑中的目錄里才能被導入,但我們不喜歡維護一個永久性的大目錄,因為其他所有的Python腳本和應用程序導入模塊的時候性能都會被拖累。本節代碼動態地在該路徑中添加了一個"目錄",當然前提是此目錄存在而且此前不在sys.path中。

    sys.path是個列表,所以在末尾添加目錄是很容易的,用sys.path.append就行了。當這個append執行完之后,新目錄即時起效,以后的每次import操作都可能會檢查這個目錄。如同解決方案所示,可以選擇用sys.path.insert(0,…,這樣新添加的目錄會優先于其他目錄被import檢查。

    即使sys.path中存在重復,或者一個不存在的目錄被不小心添加進來,也沒什么大不了,Python的import語句非常聰明,它會自己應付這類問題。但是,如果每次import時都發生這種錯誤(比如,重復的不成功搜索,操作系統提示的需要進一步處理的錯誤),我們會被迫付出一點小小的性能代價。為了避免這種無謂的開銷,本節代碼在向sys.path添加內容時非常謹慎,絕不加入不存在的目錄或者重復的目錄。程序向sys.path添加的目錄只會在此程序的生命周期之內有效,其他所有的對sys.path的動態操作也是如此。









    總結

    以上是生活随笔為你收集整理的python中sys.path详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人午夜在线观看 | a级免费网站 | 狠狠干五月| 四季av一区二区三区免费观看 | 天天玩夜夜操 | 精品人妻一区二区三区日产乱码 | 免费国偷自产拍精品视频 | 欧美三级视频在线观看 | 成人理论视频 | 日韩影院一区 | 春意影院福利社 | 奇米视频在线 | 最新黄网 | 中文字幕一区二区三区夫目前犯 | 中国美女黄色 | 人妻一区二区三区四区 | 男人的天堂影院 | 欧美又大粗又爽又黄大片视频 | 日本一级一片免费视频 | 国产第一精品 | 91片看| 未满十八18禁止免费无码网站 | 国产毛片毛片毛片毛片毛片毛片 | 明里柚番号 | 久草a在线 | 亚洲综合小说网 | 操操日 | 久久精品a亚洲国产v高清不卡 | 成 人免费va视频 | 欧美成人三级伦在线观看 | 国产精品白嫩极品美女 | 在线观看免费大片 | 7mav视频| 男女男精品视频网站 | 中文字幕日韩精品无码内射 | 暖暖免费观看日本版 | 色噜噜狠狠一区二区三区 | 男人亚洲天堂 | 色婷婷电影网 | 日韩人妻精品无码一区二区三区 | 日本xxxx高潮少妇 | 亚洲色图14p | 91porny在线 | 国产精品一区免费 | 蜜臀国产AV天堂久久无码蜜臀 | 日韩伦人妻无码 | 五月婷婷中文字幕 | 色成人免费网站 | 亚洲天堂一二三 | 香蕉视频官方网站 | 无码人妻aⅴ一区二区三区玉蒲团 | 国产不卡a | 巨乳女教师的诱惑 | 亚洲精品乱码久久久久久蜜桃91 | 精品中文字幕在线观看 | 亚洲国产美女视频 | 一区二区三区四区五区视频 | 大香伊人| 精品国产一区二区三区久久久 | av黄色免费在线观看 | 成人av无码一区二区三区 | 国产精品a级 | fexx性欧美 | 天天操天天干天天 | 黄色片在哪看 | 伊人操 | 欧美壮男野外gaytube | 激情婷婷丁香 | 奇米视频在线 | 久久国产精品99久久人人澡 | 成人免费毛片糖心 | 久久久影视| 午夜视频在线观看一区二区 | 色屁屁影院www国产高清麻豆 | 国产成人亚洲欧洲在线 | 婷婷五月综合缴情在线视频 | 日韩有码中文字幕在线观看 | 成人免费看片' | ass亚洲熟妇毛耸耸pics | 亚洲精品综合精品自拍 | 国产毛片在线看 | 欧美综合一区二区三区 | 变态另类一区二区 | 欧美黄色一级网站 | 91精品免费 | 色8久久| 九热精品 | 日韩精品一区二区不卡 | 国产麻豆午夜三级精品 | 一区二区三区精品视频 | 国产农村老头老太视频 | 91精品久久久久久久久中文字幕 | 成人性生交生交视频 | 视频一区三区 | 青青视频一区二区 | 丝袜美女被c | 上海贵妇尝试黑人洋吊 | 日韩高清不卡一区 | 草久视频在线观看 |