如何将文件从Python包(site-packages)复制到目录?

时间:2015-11-03 13:03:13

标签: python python-3.x setuptools

情况是这样的:我有一个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'

有关如何解决复制问题的任何建议?还是问题本身?

1 个答案:

答案 0 :(得分:0)

找到了一个有效的解决方案,我要找的主要是第一行:

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

也没有导入相关模块的愚蠢错误;猜猜明显的错误是最难发现的。

相关问题