第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

子目錄中的 python 文件路徑不正確

子目錄中的 python 文件路徑不正確

天涯盡頭無女友 2023-09-05 19:46:20
使用Python 3.7 | WIN10我讀過很多關(guān)于處理 python 中的路徑的文章。嘗試使用一個(gè)小腳本將所有文件和子目錄文件按上次修改日期排序到文件夾中。到目前為止,它的工作原理都是為了一個(gè)問題,當(dāng)獲取子目錄時(shí),它會(huì)以 \ 開頭返回,從而生成最終的目錄字符串 base_dir/\subdir。這意味著第一組文件可以正常復(fù)制,但子目錄中的任何內(nèi)容都會(huì)失敗。想要弄清楚如何阻止這種情況發(fā)生,我感到頭疼。希望在屏幕中斷后我能弄清楚,但以防萬一,如果這里有任何向?qū)Э梢蕴峁椭?,我將不勝感激。代碼:import osimport timeimport datetimeimport shutilfrom typing import List, TupleSORT_DIR = r'to_sort/'def date_from_seconds(file_stats):    """    Takes an os.stats variable and return a date    Using the seconds elapsed since last modification    """        seconds = time.ctime(file_stats.st_mtime)    date_filter = datetime.datetime.strptime(seconds, '%a %b %d %H:%M:%S %Y')    date_to_return = f'{date_filter.day}-{date_filter.month}-{date_filter.year}'        return date_to_returndef sort_files(path_directory: str, file_list: List[Tuple]):    """    Lists the files in the sort directory    Uses recursion to obtain files from subdirectories    Copies files to a directory named according to their last modified date    """    content_dir: List[str] = os.listdir(path_directory)    for filename in content_dir:        path_file = os.sep.join([path_directory, filename])        if os.path.isdir(path_file):            sort_files(path_file, file_list)        else:            try:                stats = os.stat(path_file)                date = date_from_seconds(stats)                file_list.append((path_directory, filename, date))                os.makedirs(date, exist_ok=True)                print(f'{path_directory}{filename}')                shutil.copy(f'{path_directory}{filename}', f'{date}/{filename}')            except Exception as _err:                print(_err)                continuefiles: List[Tuple] = []sort_files(SORT_DIR, files)print(files)
查看完整描述

1 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

您在什么操作系統(tǒng)上運(yùn)行?


我看到你正在將你的路徑與:


path_file = os.sep.join([path_directory, filename])

如果您使用的是 Windows,則這是錯(cuò)誤的。


為了使其正常工作,您可以使用


path_file = os.path.join(path_directory, filename)

2、您自己進(jìn)行掃描有什么原因嗎?


您可以用于os.walk獲取從給定根路徑開始的所有文件/目錄:


import os


SORT_DIR = 'to_sort'


for data in os.walk(SORT_DIR): # where to start searching

    dir_path, folders, files = data

    # Now do whatever you want with the `files` variable


查看完整回答
反對 回復(fù) 2023-09-05
  • 1 回答
  • 0 關(guān)注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)