0

所以我有一个脚本需要打印到不同目录中的文件。我给出了绝对路径,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:

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

谢谢!

4

2 回答 2

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'
于 2013-04-18T15:11:40.843 回答
1

我相信这里的答案可能会有所帮助。

本质上,您的反斜杠会导致问题。

于 2013-04-18T15:10:18.383 回答