首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python中的urllib2创建新目录并保存文件?

如何使用Python中的urllib2创建新目录并保存文件?
EN

Stack Overflow用户
提问于 2013-01-29 18:00:02
回答 1查看 1.6K关注 0票数 1

我正在尝试创建一个python脚本来检查主机是否还活着,如果是,请将该网站下载到一个结果/目录中。一旦我学习了如何做到这一点,我将研究如何蜘蛛和启动其他子进程(例如,在检查完成后启动nikto/skipfish,并加载保存的文件)。

代码语言:javascript
复制
#! /usr/bin/python

import os
import sys
import urllib
import urllib2
import subprocess

# Where the magic happens

str1 = raw_input("Enter your target: ")
print "Target = ", str1
print "commencing testing on", str1

# Let's set the user-agent headers
http_headers = {"User-Agent":"Mozilla/5.0"}

request = urllib2.Request(str1)
response = urllib2.urlopen(request)
payload = response.read()

dir_path = os.path.join(self.results)
os.makedirs(dir_path)
**with open(os.join.path(dir_path, 'index.html', 'wb') as file:
        file.write(payload)
print str1, "index written to file"**

# Send an email to notify us when complete
var = "world"
pipe = subprocess.Popen(["./email.sh", var], stdout=subprocess.PIPE)
result = pipe.stdout.read()
print result

我收到以下错误消息:

代码语言:javascript
复制
File "./webtest.py", line 43
    with open(os.join.path(dir_path, 'index.html', 'wb') as file:
                                                          ^
SyntaxError: invalid syntax

在结束括号后出错(来自菲尔的回答):

代码语言:javascript
复制
    Traceback (most recent call last):
      File "./webtest.py", line 41, in <module>
        dir_path = os.path.join(self.results)
NameError: name 'self' is not defined
EN

回答 1

Stack Overflow用户

发布于 2013-01-29 18:11:48

你漏掉了一个括号:

代码语言:javascript
复制
with open(os.join.path(dir_path, 'index.html', 'wb')) as file:

编辑

这一行与您想要的目录有关。它会产生错误,因为您不在类中(因此"self“不存在)。最好的行动方针是用公正的“结果”取代它,并具体说明结果在哪里。例如:

代码语言:javascript
复制
results = "/resultsdir/"
dir_path = os.path.join(results)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14589234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档