簡體   English   中英

OSError:[Errno 22]嘗試創建文件時參數無效

[英]OSError: [Errno 22] Invalid argument when trying to create a file

我正在嘗試創建一個日志系統,該系統會將程序遇到的所有異常寫入新文件。 為了實現這一點,我在字符串創建中使用了asctime()函數。 但是當我運行時,我得到了這個錯誤:

OSError:[Errno 22]參數無效:'C:\\ Users \\ User \\ Desktop \\ VendSend Log Wed Jun 12 17:16:56 2019.txt'

這是我的代碼:

reporter_name='C:\\Users\\User\\Desktop\\VendSend Log '+time.asctime()+'.txt'

fh = open(reporter_name,'w')

fh.write('-----VENDORS WITH NO EMAILS-----')
f_len = len(vendor_removed)
fcount = 0
while fcount < f_len:
    fh.write(vendor_removed[fcount])
    fh.write()
    fcount += 1

time.asctime返回此格式'Sun Jun 20 23:21:05 1993'。 當你在Windows上並且它不接受/:*?“<>或|時,你指定的文件名不合法。

嘗試time.strftime,它會讓你以任何你想要的方式格式化日期/時間。

文件名中的時間戳包含無效字符。 使用以下命令創建可以附加到文件名的時間戳:

import time
timestr = time.strftime("%Y%m%d-%H%M%S")

此輸出可用於創建文件名。

輸出包含Windows上文件路徑的無效字符。

嘗試使用strftime方法獲取僅包含可接受路徑字符的格式。

import time

basename = "C:\\Users\\User\\Desktop\\VendSend Log "
logname = "%s %s.txt" % (basename, time.strftime("%a %b %d %H %M %S %Y", time.localtime()))

我還鼓勵你不要在路徑中使用空格( 這包括文件名 )。

暫無
暫無

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

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