我有一个问题,当我尝试创建一个文件夹时,它会生成一个文件。具体来说,它出现在variable文件夹中。代码如下,我使用的是python2.7
import os
i = False
while i != True:
fil = raw_input("Enter Filename Here: ")
i = os.path.exists(fil)
if i == False: print("File does not exist! Try Again.")
folder = raw_input("Enter Output Folder Here: ")
try:
os.path.exists(folder)
except:
if not os.path.exists(folder):
print("Creating Folder for You.")
os.makedirs(folder)
output = raw_input("Enter Chlorophyll-a Output Filename Here: ")
full = os.path.join(folder, output)
if os.path.exists(full):
yesno = raw_input("Output file already exists are you sure you want to overwrite? Yes/No: ")
if yesno == "Yes":
k = open(full, "w")
if yesno == "No":
raise SystemExit("Exiting File Now!")
if not os.path.exists(full):
print ("File Does Not Exist. I Will Make It For You.")
k = open(full, "w")在我的计算机上,我得到了这个错误
Traceback (most recent call last):
File "C:/Users/---/.PyCharmCE2019.2/config/scratches/scratch_6.py", line 33, in <module>
k = open(full, "w")
IOError: [Errno 2] No such file or directory我做错了什么?我似乎想不通了。
发布于 2019-11-24 14:45:15
您从不在以下位置创建文件夹
try:
os.path.exists(folder)
except:
if not os.path.exists(folder):
print("Creating Folder for You.")
os.makedirs(folder)如果os.path.exists抛出异常,您正在尝试创建文件夹,但它没有,它返回True或False,稍后您在中创建文件
k = open(full, "w")像这样使用它
folder = raw_input("Enter Output Folder Here: ")
if not os.path.exists(folder):
print("Creating Folder for You.")
os.makedirs(folder)发布于 2019-11-24 14:46:16
我不知道你用这段代码实现了什么,但是我已经对你的代码做了一些修改。我想这会对你有帮助的。
import os
fil = input("Enter Filename Here: ")
if not os.path.exists(fil):
print("File doesn't exist!")
folder = input("Enter Output Folder Here: ")
if not os.path.exists(folder):
print("Creating folder for you.")
os.makedirs(folder)
output = input("Enter Chlorophyll-a Output Filename Here: ")
full = os.path.join(folder, output)
if os.path.exists(full):
yesno = input("Output file already exists are you sure you want to overwrite? Yes/No: ")
if yesno == "Yes":
k = open(full, "w")
k.close()
if yesno == "No":
raise SystemExit("Exiting File Now!")
else:
print ("File Does Not Exist. I Will Make It For You.")
k = open(full, "w")
k.close()发布于 2019-11-24 14:55:21
问题是当你的代码不存在的时候,你的代码不会创建一个的目录。考虑一下:
try:
os.path.exists(folder)
except:
if not os.path.exists(folder):
print("Creating Folder for You.")
os.makedirs(folder)在try块中,调用os.path.exists(folder),但这不会生成任何异常。这意味着except子句中的代码不会被执行。您想要的是创建目录,而不管它是否存在,并忽略该错误:
try:
os.makedirs(folder)
except OSError:
passhttps://stackoverflow.com/questions/59015181
复制相似问题