【发布时间】:2015-11-03 13:03:13
【问题描述】:
情况是这样的:我有一个 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'
关于如何解决复制问题的任何建议?还是问题本身?
【问题讨论】:
-
你真的有文件夹名
'pkgname\\filename'吗?! -
当然不是,只是说明它是什么。如果我写
会更好吗?我认为需要指定它,因为站点包位于 sys.path 中。文件在包中。 -
您需要使用
os.path对象如join和dirname构建文件夹路径,然后将其作为参数传递给copy -
有没有办法只知道已安装包的名称?我希望它可以在多个平台(Windows、Linux)上工作。
-
使用
normpath也可以跨平台如:normpath(join('my', 'path'))
标签: python python-3.x setuptools