在Python中创建一个带有日期的目录

14 浏览
0 Comments

在Python中创建一个带有日期的目录

我试图在Python中创建一个带有日期时间扩展名的文件夹,但每次都会出现以下错误:\n

在“create_dir.py”文件中,第7行,在中
    os.mkdir("/home/xxx/" + time.strftime('%Y%m%d'))
OSError: [Errno 2] 没有这样的文件或目录:'/home/xxx/20190322'

\n这是我的代码:\n

#!/usr/lib/python
import os
import time
os.mkdir("/home/xxx/" + datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))

\n我尝试了Stack Overflow上提供的许多解决方案,但它们都抛出了相同的错误。

0
0 Comments

在Python中创建带有日期的目录

问题原因:

在提供的代码中,没有看到datetime模块的导入语句,但是由于没有提到关于它的错误,我猜测你只是粘贴了一个旧版本的代码。请确保导入了datetime模块。

关于主要的问题,由于目录"xxx"不存在,你应该使用makedirs方法而不是makedir方法。

解决方法:

下面是我对你的代码的建议修复:

#!/usr/lib/python
import os
import datetime
os.makedirs("/home/xxx/" + datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))

这里是我对我所做的事情的解释:

我看不到你的代码片段中有关datetime模块的导入,但是由于你没有提到任何关于它的错误,我猜测你只是粘贴了一个旧版本的代码。请确保导入了它。

关于主要的问题,由于目录"xxx"不存在,你应该使用makedirs方法而不是makedir方法:

os.makedirs(path[, mode])

这个方法还允许你在路径不存在时创建路径。

这里是官方文档的相关部分:

os.makedirs(name, mode=0o777, exist_ok=False) 递归目录创建函数。类似mkdir(),但会创建所需的所有中间级目录来包含叶目录。
mode参数传递给mkdir()以创建叶目录;有关其如何解释的详细信息请参阅mkdir()的说明。要设置任何新创建的父目录的文件权限位,可以在调用makedirs()之前设置umask。现有父目录的文件权限位不会更改。
如果exist_ok为False(默认值),则如果目标目录已经存在,则会引发OSError。
注意,如果要创建的路径元素包括pardir(例如UNIX系统上的“..”),makedirs()将会混淆。此函数正确处理UNC路径。
版本3.2中新增:exist_ok参数。
版本3.4.1中更改:在Python 3.4.1之前,如果exist_ok为True且目录已经存在,makedirs()仍然会在模式不匹配现有目录的模式时引发错误。由于这种行为不可能安全实现,因此它在Python 3.4.1中被删除。请参阅bpo-21082。
版本3.6中更改:接受类似路径的对象。
版本3.7中更改:模式参数不再影响新创建的中间级目录的文件权限位。

希望这些解释对你有帮助!

0
0 Comments

问题:"Create a directory with the date in python"出现的原因是可能忘记导入datetime模块。此外,应该使用makedirs而不是mkdir,因为makedirs函数可以创建不存在的中间目录。

解决方法是导入os和datetime模块,并使用makedirs函数创建带有当前日期的目录。具体代码如下:

import os
import datetime
os.makedirs("C:\\Users\\PycharmProjects\\opencv-basics" + datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))

运行上述代码会创建一个带有路径的文件夹,路径格式为:

C:\Users\PycharmProjects\opencv-basics2019-03-22_14-49-26

0
0 Comments

在Python中创建带有日期的目录的问题是由于使用os.mkdir函数而引起的。当使用os.mkdir函数创建目录时,如果目录的路径中的某个中间路径不存在,会抛出OSError异常。为了解决这个问题,可以使用os.makedirs函数来创建目录,它会自动创建缺失的中间目录。

下面是一个使用os.makedirs函数创建带有当前日期的目录的示例代码:

import os
import datetime
os.makedirs("/home/xxx/" + datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))

在这个示例中,首先导入了osdatetime模块。然后使用datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S')获取当前日期和时间,并将其格式化为YYYY-MM-DD_HH-MM-SS的字符串。最后,使用os.makedirs函数创建一个以当前日期命名的目录,该目录位于/home/xxx/路径下。

通过使用os.makedirs函数,即使/home/xxx/路径下的中间目录不存在,也会被自动创建,确保了目录的创建过程不会抛出异常。这样就能够成功创建带有日期的目录了。

0