首页 > 编程知识 正文

python调用过程,python的调用

时间:2023-12-27 22:28:11 阅读:327470 作者:IZFK

本文目录一览:

python中3种调用可执行文件.exe的方法

方法一、os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来。

import os

main = "project1.exe"

r_v = os.system(main)

print (r_v )

方法二、commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来。

import subprocess

import os

main = "project1.exe"

if os.path.exists(main):

rc,out= subprocess.getstatusoutput(main)

print (rc)

print ('*'*10)

print (out)

方法三、popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也但不会将执行过程中要打印的内容打印出来。

import os

main = "project1.exe"

f = os.popen(main)

data = f.readlines()

f.close()

print (data)

另外,上面提到的三种方式,实际上都是在python中执行命令,因此他们不只是用来执行可执行文件,也可以用来执行linux系统中别的指令。

关于python中3种调用可执行文件.exe的方法,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。

Python这个函数的调用过程图解?

先调用outer函数,调用时传递参数say函数, outer返回一个inner函数,

那么,在此 say变量=inner函数

然后通过变量名调用inner函数,inner函数中,调用say函数,输出age值

如何通过python调用新浪微博的API

1.下载SDK

使用python调用API的话,首先要去下一个Python的SDK,sinaweibopy

连接地址在此: 

可以使用pip很快的导入,github连接里的wiki也有入门的使用方法,很容易看懂。

2.理解新浪微博的授权机制

在调用API之前,首先要搞懂什么叫OAuth 2,即新浪微博的授权机制,

连接在此: 

3.在新浪微博注册应用

每个人都可以通过新浪微博开发者平台注册自己的应用,我注册的是站内应用。注册后会为每个应用分配唯一的app key 和 app secret,这在上文提到的授权机制中需要用到,相当与每个应用的标示吧。

至此,我们可以尝试写代码调用新浪微博的API啦。

4.简单的调用API实例

参考了往上很多资料和文档,写了一个简单的调用过程。

# _*_ coding: utf-8 _*_

from weibo import APIClient

import webbrowser

APP_KEY = ''

APP_SECRET = ''

CALLBACK_URL = ''

#这个是设置回调地址,必须与那个”高级信息“里的一致

client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

url = client.get_authorize_url()

# TODO: redirect to url

#print url

webbrowser.open_new(url)

# 获取URL参数code:

code = '2fc0b2f5d2985db832fa01fee6bd9316'

client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

r = client.request_access_token(code)

access_token = r.access_token # 新浪返回的token,类似abc123xyz456

expires_in = r.expires_in # token过期的UNIX时间:

# TODO: 在此可保存access token

client.set_access_token(access_token, expires_in)

print client.friendships.friends.bilateral.ids.get(uid = 12345678)

通过以上的代码,我实现了调用相互关注API的调用,即查找与某个id的用户相互关注的人的列表。

其中,APP_KEY和APP_SECRET就是前文中分配给每个应用的信息,回调地址在每个应用的高级信息中可以看到,需要自己设置,不过随便设置一下就好

比较恶心的是code的获取,我一开始看sinaweibopy的文档的时候也没弄懂是什么意思,如上面的代码所示,url得到的是一个授权的网址,我们通过

webbrowser.open_new(url)

这行代码打开浏览器跳转到授权的界面,然后观察所在界面的网址,会显示大概如下一样的格式:

看到了吗? 问号后面有一个code=……的一个东西,把等号后面的字符串拷贝下来赋给code就可以了,但是每次运行程序是code不是一成不变的,也就是说每次都要有这么一个手动获取的过程,我觉得很麻烦,以后自己再研究一下,实现自动获取code就好了。如果能有哪位大神告诉我,感激不尽~

好了,得到正确的code之后就可以完成授权认证,也就可以调用微博的API啦,至于如何在Python下调用,我拷贝一下sinaweibopy上的介绍:

首先查看新浪微博API文档,例如:

API:statuses/user_timeline

请求格式:GET

请求参数:

source:string,采用OAuth授权方式不需要此参数,其他授权方式为必填参数,数值为应用的AppKey?。

access_token:string,采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。

uid:int64,需要查询的用户ID。

screen_name:string,需要查询的用户昵称。

(其它可选参数略)

调用方法:将API的“/”变为“.”,根据请求格式是GET或POST,调用get ()或post()并传入关键字参数,但不包括source和access_token参数:

r = client.statuses.user_timeline.get(uid=123456)

for st in r.statuses:

    print st.text

若为POST调用,则示例代码如下:

r = client.statuses.update.post(status=u'测试OAuth 2.0发微博')

若需要上传文件,传入file-like object参数,示例代码如下:

f = open('/Users/michael/test.png', 'rb')

r = client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博', pic=f)

f.close() # APIClient不会自动关闭文件,需要手动关闭

请注意:上传的文件必须是file-like object,不能是str,因为无法区分一个str是文件还是字段。可以通过StringIO把一个str包装成file-like object

希望我的回答对你有帮助,望采纳。

Python如何使用cx_Oracle调用存储过程,入参为自定义参数

table of number(10) 你的类型不就是一个数字类型么

cursor.callproc("sp_get_data",[???,cur]) 这里你直接传递一个整型 试试 比如 cursor.callproc("sp_get_data",[10,cur])

如何通过python调用新浪微博的API来爬取数据

1:安装python(这个不多说啦)

2:下载新浪微博SDK的python包,解压为weibopy目录

3:申请AppKey,

流程:

1:通过oAuth认证

按我的理解简化如下:

用户在新浪微博给的页面输入账号密码,然后微博给应用一个PIN码,这样应用通过PIN码才有权限访问该用户的信息,而应用在整个过程中是接触不到密码的,所以用户觉得很安全,后果很满意

2:获得认证之后,就可以使用微博SDK提供的API获得信息啦

3:如果想设计web或者客户端应用的话,那就继续加个GUI好啦(未完成)

代码:

#!/usr/bin/python

import webbrowser

from weibopy.auth import OAuthHandler

from weibopy.api import API

AppKey = '2525355147'

AppSecret = '2e2c7bcdfc362eace266d1f2bf83fe6b'

my_auth = OAuthHandler(AppKey , AppSecret)

webbrowser.open(my_auth.get_authorization_url())

verifier = raw_input('PIN: ').strip()

my_auth.get_access_token(verifier)

my_api = API(my_auth)

for comment in my_api.mentions():

object = comment

id = object.__getattribute__("id")

text = object.__getattribute__("text")

print str(id) + " : " + text

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。