2016-10-19 49 views
0

好吧,所以我有一个问题,我查了它,但并不知道究竟要查找什么,并不断看到问题,这与我的无关。因此,我的问题是即时通讯输入在pythonPython:检查输入的第一个字符

flashSite = raw_input('[?] Please Provide a Web Url : ') 

后它需要我希望它检查HTTP输入://字符包括在输入的开始,如果他们是那么不添加它们再次,如果他们arent再加入他们在为用户,非常感谢帮助。另外即时通讯新的Stackoverflow,所以我会遇到问题,如把代码放在评论和这样的小东西:(

编辑: 所以从其他的答案和评论我来到了这个

def ScrapeFlashFiles(): 
flashSite = raw_input('Please Provide a web URL : ') 
if flashSite.lower().startswith(flashSite, beg=0, end=7('http://')): 
    return flashSite 
elif flashSite.lower().startswith(flashSite, beg=0, end=4('www.')): 
    flashSite = 'http://' + flashSite 
print ' Sending requests... ' 
flashReq = requests.get(flashSite) 
print ' Scraping content ' 
flashTree = html.fromstring(flashReq.content) 
print 'Searching for keyword \'.swf\' ' 
for line in flashReq.content.split('\n'): 
    if '.swf' in line: 
     print line 
print 'Flash Scrape Complete..' 

我在这里干什么什么了吗?

注意我是初学者..即时得到一个错误,现在谈论一个int ..

源的地方,我正在读关于startswith方法 https://www.tutorialspoint.com/python/string_startswith.htm

+1

有一个看看'startswith'方法字符串 –

+0

因此,可能使用beg和end参数使用startswith方法创建if语句? – Xploit

+0

太简单了。当你得到了输入,检查前7个字符:if slashSite [0:7] ==“http://”... –

回答

1

的raw_input返回一个字符串,如可视距离该文档:https://docs.python.org/2/library/functions.html#

由于您使用字符串类型,您可以使用任何字符串方法https://docs.python.org/2/library/stdtypes.html#string-methods

例如:

expected_beginning = 'http://' 
if not flashSite.startswith(expected_beginning): 
    flashSite = expected_beginning + flashSite 

你可以做一些有趣的事情,比如要确保它总是做小写:

if not flashSite.lower().startswith(expected_beginning): 

+0

我刚编码的东西就像那样,但我不知道如果不是我用一个如果和elif ..是不好的做法? – Xploit

+0

我的意见是,你的代码应该一直处于“相同风格”。使用ifs和elifs并不坏。在这种情况下,我决定执行“if not”子句以减少行数。 请记住,“聪明”的代码可能会更令人困惑,所以只要代码更容易阅读,添加行就没有害处。 – AbrahamB

+0

啊,好的,这很有道理 – Xploit