我不知道如何创建不存在的文件。我试着遵循,但我得到的错误,文件不存在。
请指点。
f=open('c:\Lets_Create_Malware\output.txt', 'r+')
f=open('c:\Lets_Create_Malware\output.txt', 'w+')
f=open('c:\Lets_Create_Malware\output.txt', 'a+')
f=open('c:\Lets_Create_Malware\output.txt', 'r')
f=open('c:\Lets_Create_Malware\output.txt', 'w')
f=open('c:\Lets_Create_Malware\output.txt', 'a')发布于 2016-07-06 00:54:47
使用双反斜杠:
f=open('c:\\Lets_Create_Malware\\output.txt', 'w+')来自文档
反斜杠(
\)字符用于转义具有特殊意义的字符,如换行符、反斜杠本身或引号字符。
发布于 2016-07-06 01:15:27
考虑到您指定的确切路径,至少有一些示例应该有效(除非c:\Lets_Create_Malware路径不存在,这会导致所有测试用例失败,从而增加混乱)。
举你的例子,反斜杠不是问题,因为被修改的字符并不特殊:
f=open('c:\Lets_Create_Malware\output.txt', 'w')
之所以有效,是因为\L和\o没有特殊的含义,因此可以按字面意思使用(如果文件尚未出现,则使用“w”和“a”标志)。
然而,另一条途径是:
f=open('c:\Lets_Create_Malware\badname.txt', 'w')
将失败:
IOError: [Errno 22] invalid mode ('w') or filename: 'c:\\Lets_Create_Malware\x08adname.txt'
因为该文件名的\b部分被转换为钟字符(ctrl或\x08)。
有两种方法可以避免这个问题:要么在字符串前面加上r原始字符串修饰符(例如,r'foo\bar'),要么确保每个反斜杠都被转义(\\)。为此,最好使用来自os.path模块的os.path。
https://stackoverflow.com/questions/38214952
复制相似问题