使用python在Ubuntu中创建目录

时间:2019-06-11 16:14:35

标签: python

我正在尝试使用python在Ubuntu中创建目录并将zip文件保存在其中。我的代码在Windows中运行良好,但是在ubuntu上却表现异常。

import os
import zipfile
import datetime
from os.path import expanduser


home = expanduser('~')
zip_folder = home + '\\Documents\\ziprep'  # enter folder path where files are
zip_path = home + '\\Documents\\zips'        #enter path for zip to be saved

global fantasy_zip

def dailyfiles(weekly_file,today):
    today = str(today)
    try:
        os.mkdir(zip_path + today)
    except OSError:
        print("Creation of the directory %s failed" % today)
    else:
        print("Successfully created the directory %s " % today)
    for folder, subfolders, files in os.walk(zip_folder):
        for file in files:
            if file.startswith(today) and not file.endswith('.zip') and file not in weekly_file:
                print("Zipping  - Filename " + file)
                zip_in = zip_path + today + "\\"
                fantasy_zip = zipfile.ZipFile(zip_in + file + '.zip', 'w')
                fantasy_zip.write(os.path.join(folder, file),
                                  os.path.relpath(os.path.join(folder, file), zip_folder),
                                  compress_type=zipfile.ZIP_DEFLATED)

        fantasy_zip.close()



def main():
    weekday = str(datetime.datetime.today().weekday())
    today = datetime.date.today().strftime('%Y%m%d')
    dailyfiles(weekly_file,today)

if __name__ == '__main__':
    main()

从逻辑上讲,它应该在指定的路径上创建一个具有今天日期的文件夹。但是它是在ubuntu中创建文件夹,并且整个路径都在m脚本所在的目录中。

例如,它正在创建名称如下的文件夹:'/ home / downloads / scripypath'

在脚本中指定的路径上我需要输入“ 20191106”。该代码在Windows中工作正常。

链接到当前的project file

2 个答案:

答案 0 :(得分:1)

我建议分别在第8行和第9行使用home + '/Documents/ziprep/'home + '/Documents/zips/'

编辑:对不起,忘了为什么这应该解决问题。在Linux或Unix中,目录使用“ /”代替“ \”(在Windows中使用)作为目录分隔符。

答案 1 :(得分:1)

  ubuntu目录中的

完全不同,它们使用\代替/。   因此,请准备您的链接作为ubuntu文件结构。