IOError: [Errno 22] invalid mode ('w+') or filename: 'hodor_2017-05-09_14:03:38.txt'
所以我具有創建文件,其中,因爲它是「姓名」 [定界符]「日期時間」的.txterrno的22無效模式W +或文件名
我仰視的代碼不同的位如問題:
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()
,正如你可以看到我已經調整它。我正在查找django所做的結果,它使用slugify。
我原來沒有這一行。也許有更好的方法來命名文件。我認爲名稱和日期時間是非常正常的,但我不知道我應該使用名稱和日期時間之間使用什麼分隔符等。
爲了記錄,我目前沒有使用Django,因爲我沒有對框架的需求。我只是想測試一種方式來傳遞一個字符串和一個json地圖,並將它變成一個config.json
文件。
最後,我想利用來自網站的AJAX請求來做到這一點,但這不在此問題的範圍之內。
難道這只是歸結爲Windows禁止在文件名冒號?解決方案是使用不同的分隔符。 – tdelaney