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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

vs找不到dll_零基础学习Python_绝对VS相对

發布時間:2025/3/15 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs找不到dll_零基础学习Python_绝对VS相对 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python學習筆記

公眾號搜索--樹莓派OpenCV學舍

絕對路徑VS 相對路徑

今天筆者在研究某個品牌工業相機的SDK,在嘗試著運行一段代碼時,系統突然顯示報錯了。具體看下圖:

明明是一段示例程序,怎么會報錯呢?仔細看上圖的提示信息,是因為程序中找不到MvCameraControl.dll(或者相關依賴)。于是我打開SDK? Runtime,發現是有這個動態鏈接庫滴。

既然手動找得到這個文件,那就說明只是程序找不到罷了,問題不大。繼續找到程序中提示錯誤的代碼段,見下圖:

從上圖中可以看出,此文件是沒有列出絕對路徑的。如果這個動態鏈接庫在程序所處的文件夾中,系統是不會報錯的;可是從前一張截圖可以看出,并非如此。所以此處,我們需要給出完整的路徑才可。代碼修改如下,問題解決。

Python里的路徑分相對路徑和絕對路徑。

絕對路徑

絕對路徑好理解,我們以Cat.py來舉例子。

這就是它的絕對路徑:"E:/Python/Lib/site_packages/Cat.py"

相對路徑

相對路徑呢,就是相對于Cat.py的路徑。下面來看幾個例子:

"Dog1.py",對應: "E:/Python/Lib/site_packages/Dog1.py"
跟Cat.py在同一個文件夾里。

"set/Dog2.py",對應: "E:/Python/Lib/site_packages/set/Dog2.py"
跟Cat.py在同一個文件夾里的set文件夾里的文件。

"./Dog3.py",對應:"E:/Python/Lib/site_packages/Dog3.py"
跟Cat.py在同一個文件夾里。

"../Dog4.py",對應: "E:/Python/Lib/Dog4.py"Cat.py上一級文件夾里的文件。

也就是說除了第四個是上一級文件夾,前三個都是當前文件夾。

通過總結可以發現,當你要導入的文件在和你的當前文件在同一個目錄時,你直接導入這個文件名就好了。

? 當你要導入的文件或者目錄不和你的當前文件同目錄時,你需要跳到這個你要導入文件的父級目錄,然后一級一級的用點號連接走過的目錄或者文件,然后就可以了。至于要怎么跳到這個這個父級目錄。比較通用的就是,將父級目錄加入系統路徑,然后用點號一級一級的尋找,直到到達你要導入的模塊。

例如:有一個文件夾/home/a, 里面有個模塊叫b.py, 我怎么把他import到程序里?

import sys;
sys.path.append(“/home/a/”)
import b

接下來說一說from __future__ import absolute_import

這句代碼的作用是加入 絕對引用這個特性。

假設你的工程目錄為:

.

|-- __init__.py

|-- main.py

|-- xxx.py

|-- config

在工程文件目錄 的main.py 中寫 import xxx 會引用當前的文件中的 xxx.py,但是你想忽略當前文件夾的 xxx.py 而引用系統中的 xxx.py,就需要在前面加 from __future__ import absolute_import,這時候引用工程文件的 xxx.py 就需要 from pro import xxx

當然,最好就不要有相同名字的文件存在

總結

以上是生活随笔為你收集整理的vs找不到dll_零基础学习Python_绝对VS相对的全部內容,希望文章能夠幫你解決所遇到的問題。

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