Python 使用用户输入创建子目录
Python creating subdirectory with user input
我正在尝试制作一个制作目录(名称输入)的脚本
并在刚刚创建的输入文件夹中创建第二个目录。
import os
import sys
user_input = raw_input("Enter name: ")
user_input1 = raw_input('Enter case: ')
path = user_input
if not os.path.exists(path):
os.makedirs(path)
path = user_input1
if not os.path.exists(user_input/user_input1):
os.makedirs(path)
我明白了
if not os.path.exists(user_input/user_input1):
TypeError: unsupported operand type(s) for /: 'str' and 'str'
我做错了什么?
我试过这样做:
if not os.path.exists('/user_input1/user_input'):
但这会导致它生成两个单独的目录而不是子目录
要创建子目录,您需要连接两个输入之间的分隔符,可以这样做:
if not os.path.exists(os.path.join(user_input, user_input1)):
os.makedirs(os.path.join(user_input, user_input1))
您需要记住,在检查作为子目录的第二个输入字符串时,您传递了 os.path.join(user_input, user_input1)
,因为仅传递 user_input1
不会创建子目录。
os.path.exists()
需要一个字符串。改用这个:
if not os.path.exists(os.path.join(user_input, user_input1):
os.makedirs(path)
另外,为了让您的代码更易于阅读,您不应像那样重复使用 path
变量。它会让阅读您的代码的其他人感到困惑。这样就清楚多了:
import os
import sys
path1 = raw_input("Enter name: ")
path2 = raw_input('Enter case: ')
if not os.path.exists(path1):
os.makedirs(path1)
if not os.path.exists(os.path.join(path1, path2):
os.makedirs(path2)
这应该有效:
import os
import sys
user_input = raw_input("Enter name: ")
user_input1 = raw_input('Enter case: ')
path1 = user_input
if not os.path.exists(path1):
os.makedirs(path1)
path2 = user_input1
if not os.path.exists(os.path.join(user_input, user_input1)):
os.makedirs(os.path.join(path1, path2))
我正在尝试制作一个制作目录(名称输入)的脚本 并在刚刚创建的输入文件夹中创建第二个目录。
import os
import sys
user_input = raw_input("Enter name: ")
user_input1 = raw_input('Enter case: ')
path = user_input
if not os.path.exists(path):
os.makedirs(path)
path = user_input1
if not os.path.exists(user_input/user_input1):
os.makedirs(path)
我明白了
if not os.path.exists(user_input/user_input1):
TypeError: unsupported operand type(s) for /: 'str' and 'str'
我做错了什么?
我试过这样做:
if not os.path.exists('/user_input1/user_input'):
但这会导致它生成两个单独的目录而不是子目录
要创建子目录,您需要连接两个输入之间的分隔符,可以这样做:
if not os.path.exists(os.path.join(user_input, user_input1)):
os.makedirs(os.path.join(user_input, user_input1))
您需要记住,在检查作为子目录的第二个输入字符串时,您传递了 os.path.join(user_input, user_input1)
,因为仅传递 user_input1
不会创建子目录。
os.path.exists()
需要一个字符串。改用这个:
if not os.path.exists(os.path.join(user_input, user_input1):
os.makedirs(path)
另外,为了让您的代码更易于阅读,您不应像那样重复使用 path
变量。它会让阅读您的代码的其他人感到困惑。这样就清楚多了:
import os
import sys
path1 = raw_input("Enter name: ")
path2 = raw_input('Enter case: ')
if not os.path.exists(path1):
os.makedirs(path1)
if not os.path.exists(os.path.join(path1, path2):
os.makedirs(path2)
这应该有效:
import os
import sys
user_input = raw_input("Enter name: ")
user_input1 = raw_input('Enter case: ')
path1 = user_input
if not os.path.exists(path1):
os.makedirs(path1)
path2 = user_input1
if not os.path.exists(os.path.join(user_input, user_input1)):
os.makedirs(os.path.join(path1, path2))