Python直接路径文件打印问题?

时间:2013-04-18 15:01:30

标签: python file directory

所以我有一个需要打印到不同目录中的文件的脚本。我给出了绝对的路径而python不喜欢它。

这是文件所在的位置: C:\Users\Owner\Documents\Senior_design\QT_Library\build-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\numbers.txt

(我知道,很长的路径,但QT绘图仪使文件名很长)

我打字:

textfile = open('C:\Users\Owner\Documents\Senior_design\QT_Library\build-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\numbers.txt', 'w')

我收到了这个错误:

IOError: [Errno 22] invalid mode ('w') or filename:

我读过我可以使用相对路径,但我不确定如何给它一个包含这么多目录的相对路径。

谢谢!

2 个答案:

答案 0 :(得分:3)

问题是python将路径中的反斜杠解释为转义序列:

>>> 'C:\Users\Owner\Documents\Senior_design\QT_Library\build-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\numbers.txt'
'C:\\Users\\Owner\\Documents\\Senior_design\\QT_Library\x08uild-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\numbers.txt'

请注意,\b\n都会转换为其他内容。改为使用“原始”字符串:

>>> r'C:\Users\Owner\Documents\Senior_design\QT_Library\build-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\numbers.txt'
'C:\\Users\\Owner\\Documents\\Senior_design\\QT_Library\\build-TransmitterPlot-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug\\numbers.txt'

答案 1 :(得分:1)

我相信这个答案here可能会有所帮助。

基本上,你的反斜杠会导致问题。