部分轉自:https://www.cnblogs.com/hellofengying/p/10183057.html
今天再打開文件名時,出現了錯誤,如下:
In [4]: path='D:\Code\PythonWorkPlace\PythonProject\pydata-book-2nd-edition\data sets\bitly_usagov\example.txt' In [5]: open(path).readline() --------------------------------------------------------------------------- IOError Traceback (most recent call last) C:\Users\Administrator\<ipython-input-5-bcaecf00da5d> in <module>() ----> 1 open(path).readline() IOError: [Errno 22] invalid mode ('r') or filename: 'D:\\Code\\PythonWorkPlace\\ PythonProject\\pydata-book-2nd-edition\\datasets\x08itly_usagov\\example.txt'
不仔細觀察還真注意不到,文件名發生了變化(如紅色字體所示),也就是python字符串發生了轉義。
解決辦法:
1.字符串常量,則在字符串前加r
str=r“adfdfasd\tfdsadf\t”
print(str)
結果為:adfdfasd\tfdsadf\t
2.如字符串是從文件中讀取,則在讀取時加r
例如:有文件 test.txt中有 adfdfasd\tfdsadf\t E:\codes
則代碼可以這么寫:
file1=open(r"text.txt","r")
for line in file1:
print(line)
結果為:
adfdfasd\tfdsadf\t E:\codes