簡體   English   中英

os.rename返回winerror 2

[英]os.rename returning winerror 2

我正在嘗試將腳本重命名為以電子郵件發送的日期(這是腳本的第一部分,但對這一部分無關緊要),然后重命名並將其分類到“完整”文件夾中。 這就是我的代碼

編輯-我將所有導入的內容放在頂部,但我沒有顯示出來,但是我想我已經導入了正確的內容,如果您想看看就問一下

dir5 = "C:\\Users\\Michael D\\Documents\\Test\\AmLit"
dir6 = "C:\\Users\\Michael D\\Documents\\Test\\History"
dir7 = "C:\\Users\\Michael D\\Documents\\Test\\MultiLit"
dir8 = "C:\\Users\\Michael D\\Documents\\Test\\Physics"
dir5_final = "C:\\Users\\Michael D\\Documents\\TestMove\\AmLit"
dir6_final = "C:\\Users\\Michael D\\Documents\\TestMove\\History"
dir7_final = "C:\\Users\\Michael D\\Documents\\TestMove\\MultiLit"
dir8_final = "C:\\Users\\Michael D\\Documents\\TestMove\\Physics"


now = datetime.datetime.now()
now1 = (str(now.day) + '/' + str(now.month) + '/' + str(now.year))

dir5_files = os.listdir(dir5)
dir6_files = os.listdir(dir6)
dir7_files = os.listdir(dir7)
dir8_files = os.listdir(dir8)

for f in dir5_files:
    if (f.startswith("A") or f.startswith("a")):
        os.rename(f, now1 + " " + f)

但我不斷收到這個錯誤

 RESTART: C:/Users/Michael D/Documents/Coding/Schoolwork Email/Email Sender Beta 1.7.21.9.16.py 
Traceback (most recent call last):
  File "C:/Users/Michael D/Documents/Coding/Schoolwork Email/Email Sender Beta 1.7.21.9.16.py", line 148, in <module>
    os.rename(f, now1 + " " + f)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'A Test.txt' -> '21/9/2016 A Test.txt'

關於我在做什么錯有什么想法嗎?

2個錯誤:

  1. 您不在當前目錄中

  2. 名稱中不能包含斜線。 文件系統將不允許使用它,因為它(另外)用於分隔路徑部分。

首先,直接使用下划線生成日期:

now1 = (str(now.day) + '_' + str(now.month) + '_' + str(now.year))

然后更換

os.rename(f, now1 + " " + f)

通過

os.rename(os.path.join(dir5,f), os.path.join(dir5,now1.replace("/","_") + " " + f))

A Test.txt將被重新命名為21_9_2016 A Test.txt在你指定的目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM