小编ozg*_*gur的帖子

我应该选择哪个urllib?

我们知道,python有两个内置的url lib:

  • urllib
  • urllib2

和第三方库:

  • urllib3

如果我的要求只是通过GET方法请求API,则假设它返回一个JSON字符串.
我应该使用哪个lib?他们有一些重复的功能吗?
如果urllib可以实现我的要求,但是如果我的要求越来越复杂,urllib不能适合我的功能,我当时应该导入另一个lib,但我真的只想导入一个lib,因为我认为导入所有的他们可以让我困惑,我认为他们之间的方法是完全不同的.

所以现在我很困惑我应该使用哪个库,我更喜欢urllib3,我认为它可以满足我的要求所有时间,你怎么看?

python urllib urllib2 urllib3

9
推荐指数
1
解决办法
2万
查看次数

python解释器如何在以下代码中逐行运行代码?

我已经读过解释器逐行运行代码并同时报告错误并停止进一步执行.所以在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第一次打印?

python interpreter syntax-error

9
推荐指数
2
解决办法
1624
查看次数

我在运行工具链时得到"xcrun:error:SDK"iphonesimulator"无法定位"

我正在尝试将Kivy程序编译到iOS上,但是当我运行命令来构建Kivy发行版时,我不断收到此错误:

xcrun:错误:无法找到SDK"iphonesimulator"

我的电脑上有xcode.到底是怎么回事?

xcode ios kivy

9
推荐指数
2
解决办法
3295
查看次数

python请求上传文件

我正在访问一个网站,我想上传一个文件。

我用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)

python upload post python-requests

9
推荐指数
1
解决办法
2万
查看次数

在Python中,如何比较两个列表并获取匹配的所有索引?

这可能是一个简单的问题,我只是缺少但我有两个包含字符串的列表,我想逐个元素地"反弹"一个,而另一个返回匹配的索引.我希望有多个匹配,并希望所有的指数.我知道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

python

8
推荐指数
2
解决办法
2万
查看次数

在Emacs上将fn键设置为Ctrl

我在emacs上使用Ctrl键时遇到困难.因为, fn密钥位于Ctrl我的新键盘上的密钥位置.

我应该怎么做才能映射fnCtrlemacs?

keyboard emacs osx-snow-leopard

8
推荐指数
1
解决办法
2455
查看次数

应用程序未运行时的iOS 7后台获取

我编写了一个简单的应用程序,以测试和监控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.1iPod 5th Gen上测试这个.

iphone objective-c background-process ios

8
推荐指数
1
解决办法
1万
查看次数

UISwitch设置开/关图像

我想像我这样设置我的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)

xcode uiswitch swift

8
推荐指数
1
解决办法
2万
查看次数

使用可选数组时,Swift flatMap会产生意外结果

我们有一个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)

ios flatmap swift

8
推荐指数
1
解决办法
982
查看次数

使用核心图形在UIImage上绘制矩形

我正在尝试使用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)

我感觉好像它没有画在我发送的图像之上,它正在创造一个新的图像.整个东西变成红色,矩形变黑.我想要黑色矩形,其余部分仍应与图像相同.

我究竟做错了什么?

core-graphics uiimage ios swift

7
推荐指数
2
解决办法
1万
查看次数