簡體   English   中英

如何將文件從Python程序包(站點程序包)復制到目錄?

[英]How can I copy files from a Python package (site-packages) to a directory?

情況是這樣的:我有一個Python庫,該庫用於使用自定義協議與其他一些硬件進行通信。 任何使用此解決方案的人都需要C代碼庫來實現通信的另一端。

我認為一種簡單的方法是將文件放入Python包中,並提供一個將文件復制到所選目錄的命令。 這些文件已正確捆綁,但我不知道如何訪問它們。 我希望這會很容易:

# 'pkgname' is a placeholder for package in site-packages.
shutil.copy('pkgname' + os.sep + 'filename', os.getcwd())

但是然后我得到:

FileNotFoundError: [Errno 2] No such file or directory: 'pkgname\\filename'

關於如何解決復印問題的任何建議? 還是問題本身?

找到了一個可行的解決方案,我主要要尋找的是第一行:

pkgdir = sys.modules['<mypkg>'].__path__[0]
fullpath = os.path.join(pkgdir, <myfile>)
shutil.copy(fullpath, os.getcwd())

還做了一個愚蠢的錯誤:沒有導入相關模塊; 猜想最明顯的錯誤是最難發現的。

暫無
暫無

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

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