为什么我的 Python 脚本在使用函数并使用 input(print()) 后打印 "None"?
Why is my Python script printing "None" after using a function and using input(print())?
这是我的代码:
def videoConv(sourceDir, targetDir):
videoSourceDeclaration(sourceDir, targetDir)
input(print("\nis this correct?\n[y]/[n] (yes or no): "))
打印如下:
is this correct?
[y]/[n] (yes or no):
None
如何阻止它打印“None”?我读过我应该使用 return,但我不确定我应该做什么。
此外,这是整个 videoSourceDeclaration 函数:
def videoSourceDeclaration(sourceDir, targetDir):
sourceDir = input("Input source directory (leave blank for default): ")
os.system('cls||clear')
os.chdir("..")
print("source directory: " + os.getcwd())
targetDir = input("\nInput target directory (leave blank for default): ")
if targetDir == "":
if platform == "linux":
targetDir = ("~\videos")
# not sure of the linux dir, change later and add macos")
elif platform == "win32":
targetDir = ("c:\" + "users\" + getpass.getuser() + "\" + "videos")
if targetDir == ("~\videos") or ("c:\" + "users\" + getpass.getuser() + "\" + "videos"):
isTargetDirDefault = True
os.system('cls||clear')
print("source directory: " + os.getcwd() + "\ntarget directory: " + targetDir)
你在这里混合了一些东西。
为了打印用户的输入,您必须先获取它。您使用 input()
函数正确地完成了它,但这将 return 您的结果。这就是您需要打印的内容。
所以你应该改变你的代码:
input(print("\nis this correct?\n[y]/[n] (yes or no): "))
至此
print(input("\nis this correct?\n[y]/[n] (yes or no): "))
这是我的代码:
def videoConv(sourceDir, targetDir):
videoSourceDeclaration(sourceDir, targetDir)
input(print("\nis this correct?\n[y]/[n] (yes or no): "))
打印如下:
is this correct?
[y]/[n] (yes or no):
None
如何阻止它打印“None”?我读过我应该使用 return,但我不确定我应该做什么。
此外,这是整个 videoSourceDeclaration 函数:
def videoSourceDeclaration(sourceDir, targetDir):
sourceDir = input("Input source directory (leave blank for default): ")
os.system('cls||clear')
os.chdir("..")
print("source directory: " + os.getcwd())
targetDir = input("\nInput target directory (leave blank for default): ")
if targetDir == "":
if platform == "linux":
targetDir = ("~\videos")
# not sure of the linux dir, change later and add macos")
elif platform == "win32":
targetDir = ("c:\" + "users\" + getpass.getuser() + "\" + "videos")
if targetDir == ("~\videos") or ("c:\" + "users\" + getpass.getuser() + "\" + "videos"):
isTargetDirDefault = True
os.system('cls||clear')
print("source directory: " + os.getcwd() + "\ntarget directory: " + targetDir)
你在这里混合了一些东西。
为了打印用户的输入,您必须先获取它。您使用 input()
函数正确地完成了它,但这将 return 您的结果。这就是您需要打印的内容。
所以你应该改变你的代码:
input(print("\nis this correct?\n[y]/[n] (yes or no): "))
至此
print(input("\nis this correct?\n[y]/[n] (yes or no): "))