簡體   English   中英

如何在python中更改built_in模塊

[英]How to change built_in module in python

我想在os.py更改os.path,但它失敗了。 不同平台的路徑不同。

os.py

import ntpath as path
sys.modules['os.path'] = path
from os.path import (curdir, pardir, sep, pathsep, defpath, extsep, altsep, devnull)

事實證明

    from os.path import (curdir, pardir, sep, pathsep, defpath, extsep, altsep,
devnull)
ImportError: No module named path

你的方法應該有效。 將當前目錄中的子目錄os重命名為my_os Python首先找到你的os目錄並嘗試從那里導入。

添加此行:

__future__ import absolute_import

os.py的開頭通過使用絕對導入來避免這個問題。

你嘗試過“ __import__ ”功能嗎?

import mtpath as path
os_path = __import__(path, globals(), locals(), ['curdir', 'pardir', 'sep', 'pathsep', 'defpath', 'extsep', 'altsep', 'devnull']

然后,您可以使用'curdir'作為:

os_path.curdir

好吧,您也可以將其標記為'curdir'名稱,如文檔中所示:

curdir = os_path.curdir
pardir = os_path.curdir
…

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM