Python open(x,';w';)不创建新的文本文件
无论我尝试使用何种打开模式,它都会抛出以下错误:Python open(x,';w';)不创建新的文本文件,python,Python,无论我尝试使用何种打开模式,它都会抛出以下错误: keylog = open(keydump, mode = 'w') FileNotFoundError: [Errno 2] No such file or directory: 'keylog 2014/02/08-08/54/18.txt' 在哪里 now = datetime.datetime.now().strftime('%Y/%m/%d-%H/%M/%S') keydump = ''.join(['keylog ', st
keylog = open(keydump, mode = 'w')
FileNotFoundError: [Errno 2] No such file or directory: 'keylog 2014/02/08-08/54/18.txt'
在哪里
now = datetime.datetime.now().strftime('%Y/%m/%d-%H/%M/%S')
keydump = ''.join(['keylog ', str(now), '.txt'])
当系统将
/
用作路径分隔符时,您正在将其放入文件名中。如果/
是路径分隔符,它将尝试在可能不存在的路径中创建文件,从而导致错误
换句话说,
keylog 2014/02/08-08/54/18.txt
是
keylog 2014/02/08-08/54
目录中的文件18.txt
。我建议在时间表示中将'/'
替换为'
:
keydump = ''.join(['keylog_', str(now).replace('/', '_'), '.txt'])
你真的想创建这个目录树吗?
keylog2014/02/08-08/54/
它的文件名是“/”,我有时会很笨。谢谢其他字符也可能导致问题,如冒号,这取决于您的操作系统。即使您的系统使用反斜杠作为路径分隔符,Python仍会将正斜杠解释为路径分隔符。任何系统上的文件名中都不允许使用斜杠。