sys 模塊內置在每一個Python 解析器中。
變量sys.ps1 和 sys.ps2定義了主提示符和副提示符對應的字符串。
```
>>> import sys
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '
>>> sys.ps1 = 'C> '
```
## sys.path
`sys.path`是 Python 的一個運行時變量,它是一個字符串列表,指示了解釋器在導入模塊時應該搜索哪些路徑。當你導入一個模塊時,Python 解釋器會在`sys.path`所列出的目錄中查找對應的`.py`文件。
通常情況下,`sys.path`包括以下幾個路徑:
1. 當前腳本運行的目錄(或在交互模式下是當前工作目錄)。
2. `PYTHONPATH`環境變量中指定的目錄(如果設置了的話)。
3. Python默認的安裝路徑(即標準庫的安裝位置)。
你可以在 Python 腳本中查看`sys.path`的當前值:
~~~
pythonCopy codeimport sys
print(sys.path)
~~~
你也可以通過修改`sys.path`來更改模塊的搜索路徑。例如,你可以將你的項目路徑或需要導入的模塊目錄添加入`sys.path`:
~~~
pythonCopy codeimport sys
sys.path.append('/path/to/your/module/directory')
~~~
不過,這種修改是在運行時進行的,它只會影響當前運行的 Python 進程,并且不會影響其他 Python 腳本或會話中的`sys.path`值。
一個更永久性的方式是設置`PYTHONPATH`環境變量,這樣每次運行 Python 時它都會生效。這個環境變量的設置方法取決于你的操作系統。
**注意**:在生產系統中修改`sys.path`可能不是最佳實踐,因為它可能會引入路徑硬編碼和依賴問題。正確配置虛擬環境和使用包管理工具(如 pip)通常是更好的做法。
## 路徑符
在 Windows 系統中,Python的`sys.path`變量包含一個路徑列表,Python解釋器將從這些路徑中搜索模塊。路徑字符串通常使用 Windows 路徑約定,即使用反斜杠`\`作為目錄分隔符。不過,由于反斜杠在 Python 字符串中是一個轉義字符,因此你通常需要使用原始字符串(以`r`開頭)或者在每個反斜杠前再加一個反斜杠來轉義它。
例如:
~~~
pythonCopy code# 使用原始字符串來避免需要轉義反斜杠
sys.path.insert(0, r'C:\path\to\your\module')
# 或者使用雙反斜杠
sys.path.insert(0, 'C:\\path\\to\\your\\module')
~~~
Python 也支持在 Windows 路徑中使用正斜杠`/`作為目錄分隔符,并且不需要轉義:
~~~
pythonCopy code# 使用正斜杠
sys.path.insert(0, 'C:/path/to/your/module')
~~~
在許多情況下,使用正斜杠作為路徑分隔符可能是跨平臺腳本編寫的更簡單選擇,因為它在 Unix 和 Windows 環境下都被支持。
另外,如果你在設置路徑時使用了相對路徑,請確保你運行腳本的當前工作目錄是你預期的目錄,因為相對路徑會根據當前工作目錄解析。如果可能,使用絕對路徑會使事情變得更清晰明確。
- 前言
- 1.入門篇
- Python介紹
- 安裝與使用
- Python開發利器之VS Code
- 模塊安裝
- 命令行
- 一次Python無法安裝模塊的問題探索與解決之旅
- 命令運行
- Conda
- 下載地址
- 2.基礎篇
- 基礎語法
- 輸入與輸出
- with as的用法
- 注釋
- Python命令行參數
- 編碼
- 變量類型
- 列表遍歷
- 運算符
- 表達式語句
- 條件
- 循環
- 日期和時間
- 函數
- 高級語法
- @符號-裝飾器
- 模塊和包
- name
- init.py
- 錯誤和異常
- 面向對象
- 3.專題篇
- 常用功能
- Python 字符串連接
- python web
- Python CGI編程
- Python OAuth2
- 認證 Flask-HTTPAuth
- 常用命令
- 內置函數
- dir()
- print(f)
- 標準模塊
- sys
- pickle-數據序列化
- os
- IO(輸入輸出)
- 鍵盤輸入
- 文件讀寫
- 測試
- Python測試框架之pytest快速入門
- pytest-bdd快速示例和問題解決
- 基于pytest-bdd的項目目錄結構和命名規范
- python BDD 的相關概念
- Behave介紹和快速示例
- Python BDD之Behave測試報告
- Python BDD 框架比較之 pytest-bdd vs behave
- pytest進階
- Flask + pytest測試
- 參考網址
- pytest-bdd進階
- hehave進階
- 測試路徑
- python + selunium
- HTML 根據多層CSS 查找元素
- 等待執行
- 使用text 查找 span
- pytest如何在控制臺輸出
- 4.問題篇
- pip pip3 及區別
- TypeError: can only concatenate str (not "NoneType") to str
- 5.實戰篇
- matplotlib-繪圖包
- 導入類
- 命名規范
- 模塊查找
- 6.進階篇
- Flask
- Flask介紹
- Flask擴展模塊
- Flask-Login
- 問題
- Jinja2
- Flask-RESTful
- Flask-JWT-Extended
- WSGI
- Flask-SQLAlchemy
- 部署
- Flask VS Django
- Flask Web
- Flask + Vue
- Flask實戰
- Flask 標準目錄結構
- Blueprints
- 參考
- FastAPI 測試
- https 證書 Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate