【发布时间】:2017-10-08 07:40:40
【问题描述】:
IOError: [Errno 22] invalid mode ('w+') or filename: 'hodor_2017-05-09_14:03:38.txt'
所以我在创建文件时遇到了问题,因为它是 "name" [delimiter] "datetime" .txt
我正在查找不同的代码,例如:
Turn a string into a valid filename?
python: how to convert a string to utf-8
https://github.com/django/django/blob/master/django/utils/safestring.py
它似乎仍然不适合我。
我的概念很简单:给定名称和内容,用该名称和内容编写一个文件。
我的代码是:
def create_json_file(name, contents):
filename = u"%s_%s.json" % (name, datetime.datetime.now().strftime("%Y/%m/%d_%H:%M:%S"))
print "%s" % filename
filename = slugify(filename)
f = open(filename, "w+")
f.write(contents)
f.close()
如您所见,我一直在调整它。我正在查找使用 slugify 的 django 所做的结果。
我的原版没有那条线。也许还有更好的方法来命名文件。我认为名称和日期时间很正常,但我不确定我应该在名称和日期时间等之间使用什么分隔符。
为了记录,我目前没有使用 Django,因为我不需要框架。我只是想测试一种传递字符串和 json 映射并将其本质上转换为config.json 文件的方法。
最终,我会想利用来自网站的 AJAX 请求来执行此操作,但这超出了本问题的范围。
【问题讨论】:
-
这不是归结为 Windows 不允许在文件名中使用冒号吗?解决方案是使用不同的分隔符。
标签: python