создать каталог с использованием переменных - PullRequest
2 голосов
/ 19 мая 2011

Я не могу создать каталог, используя определенные переменные, я получаю, WindowsError: [Error 183] Cannot create a file when that file already exists:

я пробовал что-то вроде этого:

import os, ConfigParser
import Tkinter as tk

root = Tk()

exp_no = ""

config = ConfigParser.ConfigParser()
config.read("config.ini")
resultado = config.get("General", "lugar_exp")

en1 = tk.Entry(root, width = 30, background = 'white', textvariable = exp_no)
en1.pack()

os.mkdir(resultado+'/'+en1.get())

Ответы [ 2 ]

6 голосов
/ 19 мая 2011

Я верю, что

os.mkdir(resultado+'/'+en1.get())

работает как

os.mkdir(resultado+'/')

, поскольку en1.get() может быть пустым, или конкатенация путей неверна, что приводит к resultado.

Не могли бы вы проверить, что en1.get() содержит что-то? И не могли бы вы использовать os.path.join?

2 голосов
/ 19 мая 2011

Звучит так, будто Windows выдает ошибку, потому что каталог уже существует.

Возможно, вы захотите добавить немного больше безопасности, проверив существование.Также os.makedirs немного лучше, поскольку он создает все отсутствующие каталоги на пути:

name = en1.get()
path = os.path.join(resultado, name)
if not os.path.exists(path):
    os.makedirs(path)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...