2013-03-17 3 views
0

У меня есть список в формате:Создание текстовых файлов с помощью питона

a=["C/C++","Java","Python"] 

Я пытаюсь создать текстовый файл для каждого элемента в списке с помощью питона следующим образом:

for i in a: 
    temp=i+".txt" 
    with open(temp,"w") as outfile: 
      outfile.write("some value") 

Однако Я сталкиваюсь с проблемами для элементов вне формы «C/C++», поскольку он пытается интерпретировать это как каталог.

Traceback (most recent call last): 
    File "<stdin>", line 3, in <module> 
IOError: [Errno 2] No such file or directory: 'C/C++.txt' 

Как преодолеть это?

Примечание. Если элемент списка не содержит в себе «/», то код создает файлы для таких элементов.

ответ

4

Ну, проблема довольно проста.
A file name can't contain any of the following characters: /:*?<>|

Так, просто измените имя на правильную один, как C-C++

+1

Помимо этого, есть много других зарезервированных имен (под Windows), как 'CON' или' COM2' и т.д., которые являются незаконными, так как имена файлов , –

+0

"facepalm" !! да, я знаю о con и т. д., но так как я работаю в ubuntu, предположил, что это не относится к дистрибутивам Linux! моя вина! –

+0

@TimPietzcker Ну, я просто должен был указать на его ошибку. – pradyunsg

Смежные вопросы