在 Django 项目中的 Ubuntu 下创建具有更改文件夹名称的文件夹



我的项目中有这段代码:

name = "some-name"
myDir = os.path.join(BASE_DIR, r'first_scrapyspiderstmp{}'.format(name))

我正在 Windows 上开发,这有效 - 它会创建一个文件夹,其中包含我设置name。但是当我在Ubuntu 16.04上部署此代码时 - 此代码创建名称为first_scrapyspiderstmpparfums-promo的文件夹 - 文件夹的路径将成为文件夹名称。
我怎样才能避免这种情况?

这是一个很好的示例,说明何时将os.path.join()用于系统路径 - 在Windows中,分隔目录。Ubuntu 使用/.

os.path.join()选择正确的一个,所以你不必这样做。

基于 Unix 的路径

在基于 Unix 的系统中,路径中的目录通常用正斜杠 (/) 分隔。因此,我们可以简单地将其重写为:

# Unix-based operating systems
name = "some-name"
myDir = os.path.join(BASE_DIR,'first_scrapy/spiders/tmp/{}'.format(name))

独立于操作系统的解决方案

但是,如果您希望编写跨不同操作系统运行的应用程序,则可以使用os.path.join。例如:

# works on "all" operating systems (well, those suported by the os module)
name = "some-name"
myDir =os.path.join(BASE_DIR, 'first_scrapy', 'spiders', 'tmp', name)

跨不同操作系统提供功能实际上是os模块旨在处理的主要任务之一。

相关内容

  • 没有找到相关文章

最新更新