脚本不工作7
我有工作正常在XP,因为我已经在Windows 7 Professional的新PC的代码已停止工作脚本不工作7
import os
import shutil
from time import strftime
logsdir="c:\logs"
zipdir="c:\logs\puttylogs\zipped_logs"
zip_program="zip.exe"
for files in os.listdir(logsdir):
if files.endswith(".log"):
files1=files+"."+strftime("%Y-%m-%d")+".zip"
os.chdir(logsdir)
os.system(zip_program + " " + files1 +" "+ files)
shutil.move(files1, zipdir)
os.remove(files)
我得到的错误是 U中的以下脚本:>蟒蛇logs.py 拉链警告:名称不匹配:ping_dms_155.log
zip error: Nothing to do! (ping_dms_155.log.2013-05-14.zip)
Traceback (most recent call last):
File "logs.py", line 24, in <module>
shutil.move(files1, zipdir)
File "c:\python27\lib\shutil.py", line 301, in move
copy2(src, real_dst)
File "c:\python27\lib\shutil.py", line 130, in copy2
copyfile(src, dst)
File "c:\python27\lib\shutil.py", line 82, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'ping_dms_155.log.2013-05-14.zip'
我想不出为什么它会停止工作,在此先感谢
我有这种通过改变使用os.system到子过程,使代码现在看起来像
import os
import shutil
from time import strftime
import subprocess
logsdir="c:\logs"
zipdir="c:\logs\puttylogs\zipped_logs"
zip_program="zip.exe"
for files in os.listdir(logsdir):
if files.endswith(".log"):
files1=files+"."+strftime("%Y%m%d")+".zip"
os.chdir(logsdir)
subprocess.call([zip_program,files1, files])
shutil.move(files1, zipdir)
os.remove(files)
感谢大家的帮助 – geekcomputers 2013-05-15 13:53:58
看来你确实有zip.exe
您的Windows从错误中7的机器,但它可能不兼容版本与Windows 7
入住logsdir
看到,如果你修改文件(ping_dms_155.log.2013-05-14.zip
)已经存在。如果所有这些都是真的,我会建议使用python模块zipfile
。
它可以通过命令行C:\ logs> zip ping_dms_155.2013-05-14.log.zip ping_dms_155.log 添加:ping_dms_155.log(160字节安全性)(缩减89%) – geekcomputers 2013-05-14 16:00:12
zip ping_dms_155.2013-05-14.log.zip ping_dms_155.log,参数ping_dms_155.2013-05-14.log.zip与files1不同,files1是ping_dms_155.log.2013 -05-14.zip。可能是因为“。”不允许文件名。其次是 ”-”。尝试命名文件像files1 = files.split(“。”)[0] +“ - ”+ strftime(“%Y-%m-%d”)+“。zip” – rudasi 2013-05-14 16:41:45
可悲的是它可以打印相同的 – geekcomputers 2013-05-14 16:57:19
您的路径字符串未正确转义。
logsdir="c:\logs"
zipdir="c:\logs\puttylogs\zipped_logs"
应该是:
logsdir=r"c:\logs"
zipdir=r"c:\logs\puttylogs\zipped_logs"
目录C:OGS不存在。因为您已更改为日志目录,因此手动运行它。它在XP上运行,因为......嗯,你没有在XP上运行这个确切的脚本,因为它不会在那里工作。
添加,不会改变它,它仍然错误相同。我现在正在运行两台机器,XP正在运行 – geekcomputers 2013-05-14 16:24:43
你改变Python版本藏汉工作? – timss 2013-05-14 15:26:49
以前在2.7.4上是2.7.2 – geekcomputers 2013-05-14 15:33:49
在'c:\ logs \'上设置访问权限? – jon 2013-05-14 15:35:18