【问题标题】:Python direct path file printing issue?Python直接路径文件打印问题?
【发布时间】:2013-04-18 15:01:30
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 转义文件路径中的反斜杠。
  • 或使用“原始”字符串:open(r'C:\Users\...','w')

标签: python file directory


【解决方案1】:

问题在于 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'

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2020-01-24
      • 2022-01-07
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多