我目前正在用Python编写一个脚本,它将执行以下操作: -
这是我在Windows 7上使用Python v2.7的代码: -
import os
import time
import platform
import urllib
current_dir = os.getcwd()
targetname = "Spartacus"
target_dir = os.path.join(current_dir, targetname)
timenow = time.strftime("\%d-%b-%Y %H-%M-%S")
def directoryVerification():
os.chdir(current_dir)
try:
os.mkdir('Spartacus')
except OSError:
pass
try:
os.system('attrib +h Spartacus')
except OSError:
pass
def gatherEvidence():
os.chdir(target_dir)
try:
evidential_dir = os.mkdir(target_dir + timenow)
os.chdir(evidential_dir)
except OSError:
pass
f = iprecord.txt
with f as open:
ip_addr = urllib.urlopen('http://www.biranchi.com/ip.php').read()
f.write("IP Address:\t %s\t %s" % ip_addr, time.strftime("\%d-%b-%Y %H-%M-%S"))
x = directoryVerification()
y = gatherEvidence()
我继续在第26行收到错误,因为它无法解析动态命名目录(日期和时间)的完整路径。我已经打印出'evidential_dir'的值,它显示为Null。
关于我哪里出错的指示?感谢
PS:对我的代码提出任何其他建议以改进它将不胜感激 PPS:关于如何找到'Dropbox'的默认目录的任何建议?有没有办法扫描文件系统中的“Dropbox”目录并捕获路径?
答案 0 :(得分:1)
os.mkdir()
不会像您想象的那样返回路径名。您似乎在代码的不同位置执行相同操作的不一致方法。
试试这个:
evidential_dir = os.path.join(target_dir, timenow)
os.mkdir(evidential_dir)
并修复你的另一行:
f = "iprecord.txt"
答案 1 :(得分:0)
os.mkdir
不返回任何内容。
evidential_dir = target_dir + timenow
try:
os.mkdir(evidential_dir)
except OSError:
pass
os.chdir(evidential_dir)