Se non è la lunghezza del nome del file, è il contenuto del nome del file ...
Python è trattare '\ 12' come una sequenza di controllo.
>>> fn='C:\Documents and Settings\Administrator\op_models\Corp_Network_Nov12\abcde_corporate_nov_12.project\abcde_corporate_nov_12-ctr.rptd.dir\ctr\Non Business Hours for Weeknights\hourly_data_for_2_weeks\1294897740\json.data\Link\0\Link Utilization\analyzer393146160-data0.js'
>>> print fn
C:\Documents and Settings\Administrator\op_models\Corp_Network_Nov12bcde_corporate_nov_12.projectbcde_corporate_nov_12-ctr.rptd.dir\ctr\Non Business Hours for Weeknights\hourly_data_for_2_weeks
94897740\json.data\Link\Link Utilizationnalyzer393146160-data0.js
Utilizzando raw strings per i nomi dei file di Windows vi aiuterà:
>>> fn=r'C:\Documents and Settings\Administrator\op_models\Corp_Network_Nov12\abcde_corporate_nov_12.project\abcde_corporate_nov_12-ctr.rptd.dir\ctr\Non Business Hours for Weeknights\hourly_data_for_2_weeks\1294897740\json.data\Link\0\Link Utilization\analyzer393146160-data0.js'
>>> print fn
C:\Documents and Settings\Administrator\op_models\Corp_Network_Nov12\abcde_corporate_nov_12.project\abcde_corporate_nov_12-ctr.rptd.dir\ctr\Non Business Hours for Weeknights\hourly_data_for_2_weeks\1294897740\json.data\Link\0\Link Utilization\analyzer393146160-data0.js
Aggiornamento
In alternativa, utilizzare le barre '/' invece di backslash '\', dal momento che questi funzioneranno su tutti sistemi operativi e ti farà risparmiare fastidi con backslash proprio alla fine di un percorso come nei tuoi commenti.
Vedere anche os.path.join()
.
Update 2
dimostrazione semplice problema:
>>> open('.\12\n\r\file.txt')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '.\n\n\r\x0cile.txt'
>>> open('./12/n/r/file.txt')
<open file './12/n/r/file.txt', mode 'r' at 0x7ff83f98>
C:\Users\johnysweb>copy .\12\n\r\file.txt con
Blah
1 file(s) copied.
Grazie. Il limite supera i 260 caratteri. L'articolo MSDN menziona che possiamo usare il prefisso "\\? \" Per il nome lungo del file, solo curioso se qualcuno sa come posso aggiungere il prefisso al nome del file. Quando provo a eseguire una semplice operazione "+", viene visualizzato un errore EOL durante la scansione di una stringa con quotatura singola ". (fname = '\\? \' + fname) – AshD
Utilizzare "\\\\? \\". In questo caso una stringa non funzionante non funzionerà. – cgohlke
Utilizzare invece le barre in avanti. Vedi anche http://stackoverflow.com/faq#howtoask – Johnsyweb