使用变量创建目录问题

发布于 2024-11-08 14:54:14 字数 464 浏览 0 评论 0原文

我无法使用定义的变量创建目录,我得到一个 WindowsError: [Error 183] Cannot create a file when that file hasladen:

我尝试了这样的操作:

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())

i can't make a directory using defined variables, i get an , WindowsError: [Error 183] Cannot create a file when that file already exists:

i tried something like this:

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())

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萤火眠眠 2024-11-15 14:54:14

我相信它

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

正在运行,

os.mkdir(resultado+'/')

因为 en1.get() 可能是空的,或者路径的连接是错误的,这只会导致 resultado

您能否验证 en1.get() 包含某些内容?您可以使用 os.path.join 吗?

I believe that

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

is running as

os.mkdir(resultado+'/')

because en1.get() might be empty or concatanation of paths is wrong which results in just resultado.

Could you verify that en1.get() contains something? And could you use os.path.join?

奈何桥上唱咆哮 2024-11-15 14:54:14

听起来 Windows 正在引发错误,因为该目录已经存在。

您可能想通过检查是否存在来增加更多的安全性。另外 os.makedirs 更好一点因为它将创建路径上所有丢失的目录:

name = en1.get()
path = os.path.join(resultado, name)
if not os.path.exists(path):
    os.makedirs(path)

It sounds like Windows is raising an error because the directory already exists.

You may want to add a bit more safety by checking for existence. Also os.makedirs is a bit nicer in that it will create all missing directories on the path:

name = en1.get()
path = os.path.join(resultado, name)
if not os.path.exists(path):
    os.makedirs(path)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文