Python函数语法错误

2024-04-25 06:50:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经检查了我能做的一切来修复这个代码。这可能只是我没有看到的一些愚蠢的东西,但我今天确实学会了这种语言。我总是得到无效的语法。有人能看看我的密码吗?在

import glob, os, datetime, sys, time, shutil


def rename(dir1, dir2):
    filenum = 1
    date = time.strftime("%d%m%Y")
    fileiter = glob.iglob(os.path.join(dir1, r'*.mp4')
    for filen in fileiter:
        print(filen);
        filename = dir2 + filen + date + filenum + r'.mp4'
        filedir1 = dir1 + filen
        shutil.copy2(filedir1, dir2);
        filedir2 = dir2 + filen
        os.rename(filedir2, filename);
    print("Copying Done!");        
return;

starting_dir = input("Enter Input Directory: ")
if len(starting_dir) == 0:
    print("Actually Enter Enter Something")
    sys.exit()
output_dir = input("Enter Output Directory: ")
if len(output_dir) == 0:
    print("Actually Enter Enter Something")
    sys.exit()
rename(starting_dir, output_dir)

Tags: outputtimeosdirsysglobprintenter
1条回答
网友
1楼 · 发布于 2024-04-25 06:50:37

在python中,如果不指定return,它会自动返回None。在代码中,return语句的缩进是关闭的。只要把它移走就足够了。以下是正确的代码:

import glob, os, datetime, sys, time, shutil


def rename(dir1, dir2):
    filenum = 1
    date = time.strftime("%d%m%Y")
    fileiter = glob.iglob(os.path.join(dir1, r'*.mp4'))
    for filen in fileiter:
        print(filen);
        filename = dir2 + filen + date + filenum + r'.mp4'
        filedir1 = dir1 + filen
        shutil.copy2(filedir1, dir2);
        filedir2 = dir2 + filen
        os.rename(filedir2, filename);
    print("Copying Done!");

starting_dir = input("Enter Input Directory: ")
if len(starting_dir) == 0:
    print("Actually Enter Enter Something")
    sys.exit()
output_dir = input("Enter Output Directory: ")
if len(output_dir) == 0:
    print("Actually Enter Enter Something")
    sys.exit()
rename(starting_dir, output_dir)

相关问题 更多 >