我们知道,python有两个内置的url lib:
urllib urllib2和第三方库:
urllib3如果我的要求只是通过GET方法请求API,则假设它返回一个JSON字符串.
我应该使用哪个lib?他们有一些重复的功能吗?
如果urllib可以实现我的要求,但是如果我的要求越来越复杂,urllib不能适合我的功能,我当时应该导入另一个lib,但我真的只想导入一个lib,因为我认为导入所有的他们可以让我困惑,我认为他们之间的方法是完全不同的.
所以现在我很困惑我应该使用哪个库,我更喜欢urllib3,我认为它可以满足我的要求所有时间,你怎么看?
我已经读过解释器逐行运行代码并同时报告错误并停止进一步执行.所以在python中,考虑文件ex1.py,
print "Hello world"
12variable = 'bye'
print 12variable
Run Code Online (Sandbox Code Playgroud)
现在根据解释器的工作,解释器将运行第一行,即它首先打印hello world,然后在下一行显示语法错误(逐行工作).因此预期的产出是:
Hello world
12variable = 'bye'
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
但实际产量是 -
12variable = 'bye'
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
为什么不在Hello World第一次打印?
我正在尝试将Kivy程序编译到iOS上,但是当我运行命令来构建Kivy发行版时,我不断收到此错误:
xcrun:错误:无法找到SDK"iphonesimulator"
我的电脑上有xcode.到底是怎么回事?
我正在访问一个网站,我想上传一个文件。
我用python写了代码:
import requests
url = 'http://example.com'
files = {'file': open('1.jpg', 'rb')}
r = requests.post(url, files=files)
print(r.content)
Run Code Online (Sandbox Code Playgroud)
但是好像没有上传文件,页面和初始页面一样。
我想知道如何上传文件。
该页面的源代码:
<html><head><meta charset="utf-8" /></head>
<body>
<br><br>
Upload<br><br>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="hidden" name="dir" value="/uploads/" />
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 这可能是一个简单的问题,我只是缺少但我有两个包含字符串的列表,我想逐个元素地"反弹"一个,而另一个返回匹配的索引.我希望有多个匹配,并希望所有的指数.我知道list.index()获得第一个,你可以很容易地得到最后一个.例如:
list1 = ['AS144','401M','31TP01']
list2 = ['HDE342','114','M9553','AS144','AS144','401M']
Run Code Online (Sandbox Code Playgroud)
然后我将遍历list1,比较list2和输出:
[0,0,0,1,1,0] , [3,4] 或者等,第一次迭代
[0,0,0,0,0,1] , [6]为第二次
和/ [0,0,0,0,0,0]或[]第三次
编辑:抱歉任何混乱.我希望以某种方式获得结果,然后我可以像这样使用它们 - 我有第三个列表可以调用list3,我想从输出的索引中获取该列表中的值.即list3[previousindexoutput]=list of cooresponding values
我在emacs上使用Ctrl键时遇到困难.因为, fn密钥位于Ctrl我的新键盘上的密钥位置.
我应该怎么做才能映射fn到Ctrlemacs?
我编写了一个简单的应用程序,以测试和监控iOS7中后台提取功能的工作原理.
首先,我在Info.plist文件中设置了UIBackgroundMode选项.
然后;
我加入到下面的代码到应用中:didFinishLaunchingWithOptions:方法在AppDelegate.m:

最后,我已经实现了应用程序:(UIApplication*)应用程序performFetchWithCompletionHandler:方法.

每次我单击Debug-> Simulate Background Fetch按钮时,它都会更改应用程序的批号并按预期工作.
但是,当应用程序未运行时,我甚至无法使其工作(即使在后台模式下也没有运行).
Apple表示,当应用程序未运行且操作系统要分别执行以下方法时:
application:(UIApplication *)application didFinishLaunchingWithOptions:
applicationDidEnterBackground:(UIApplication *)application
application:(UIApplication *)application performFetchWithCompletionHandler:
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,有没有办法在应用程序未运行时测试后台提取?
我正在使用iOS 7.1在iPod 5th Gen上测试这个.
我想像我这样设置我的Switch:
但我尝试在ios9中,它不起作用.我在苹果UISwitch Class Reference中看到过.它说:
讨论在iOS 7中,此属性无效.
iOS 9怎么样?任何一个成功?
我的代码:
switch1 = UISwitch(frame:CGRectMake(self.view.frame.width/2 - 20, 400, 10, 100))
switch1.on = true
switch1.onTintColor = UIColor.lightGrayColor()
switch1.tintColor = UIColor.greenColor()
switch1.thumbTintColor = UIColor.blackColor()
Run Code Online (Sandbox Code Playgroud)
//设置开/关图像
switch1.onImage = UIImage(named: "on-switch")
switch1.offImage = UIImage(named: "off-switch")
Run Code Online (Sandbox Code Playgroud) 我们有一个Person对象的数组,每个对象都有另一个String数组,这是可选的.我们想要在我们的社会中整合汽车名称列表.
struct Person {
let name: String
let address: String
let age: Int
let income: Double
let cars: [String]?
}
let personsArray = [Person(name:"Santosh", address: "Pune, India", age:34, income: 100000.0, cars:["i20","Swift VXI"]),
Person(name: "John", address:"New York, US", age: 23, income: 150000.0, cars:["Crita", "Swift VXI"]),
Person(name:"Amit", address:"Nagpure, India", age:17, income: 200000.0, cars:nil)]
let flatmapArray = personsArray.flatMap({$0.cars})
print(flatmapArray)
Run Code Online (Sandbox Code Playgroud)
//预期结果:["i20","Swift VXI","Crita","Swift VXI"]
//结果:[["i20","Swift VXI"],["Crita","Swift VXI"]]
为什么它不给我一个字符串数组作为结果?
我在上面的代码中做了几处更改,如下面的代码,而不是"nil",我们尝试将空数组传递给第3个Person对象.
Person(name:"Amit", address:"Nagpure, India", age:17, income: 200000.0, cars:Array())
Run Code Online (Sandbox Code Playgroud)
结果是:
[["i20","Swift VXI"],["Crita","Swift VXI"],[]]
仍然不是预期的结果.
如果我从汽车数组中删除可选,如,
let cars: [String] …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Core Graphics在UIImage的中心放置一个矩形,大致如下所示:
到目前为止这是我的代码:
func drawRectangleOnImage(image: UIImage) -> UIImage {
let imageSize = image.size
let scale: CGFloat = 0
UIGraphicsBeginImageContextWithOptions(imageSize, false, scale)
let context = UIGraphicsGetCurrentContext()
let rectangle = CGRect(x: 0, y: (imageSize.height/2) - 30, width: imageSize.width, height: 60)
CGContextSetFillColorWithColor(context, UIColor.blackColor().CGColor)
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor)
CGContextSetLineWidth(context, 5)
CGContextAddRect(context, rectangle)
CGContextDrawPath(context, .Fill)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
Run Code Online (Sandbox Code Playgroud)
我感觉好像它没有画在我发送的图像之上,它正在创造一个新的图像.整个东西变成红色,矩形变黑.我想要黑色矩形,其余部分仍应与图像相同.
我究竟做错了什么?