大型网络游戏和网页游戏通常使用哪种编程语言进行开发?
```markdown
大型 *** 游戏和网页游戏通常使用C++、C#、Java、JavaScript、Python等编程语言进行开发,这些语言具有强大的跨平台性和可扩展性,可以满足游戏开发的需求,游戏开发者还会使用各种游戏引擎和框架,如Unity、Unreal Engine、Cocos2d-x等,来提高开发效率和游戏性能。
*** 游戏使用的语言就多了,主流是C/C++,脚本常用的有Lua和Python,而网页游戏一般用Flash *** 的。
怎么用Python写一个网页程序,上传文件,处理完毕,下载下来
直接上代码
import flask, os, sys,time
from flask import request, send_from_directory
interface_path = os.path.dirname(__file__)
sys.path.insert(0, interface_path) #将当前文件的父目录加入临时系统变量
server = flask.Flask(__name__)
# 获取 *** :指定目录下载文件
@server.route('/download', methods=['GET'])
def download():
fpath = request.args.get('path', '') # 获取文件路径
fname = request.args.get('filename', '') # 获取文件名
if fname.strip() and fpath.strip():
print(fname, fpath)
if os.path.isfile(os.path.join(fpath, fname)) and os.path.isdir(fpath):
return send_from_directory(fpath, fname, as_attachment=True) # 返回要下载的文件内容给客户端
else:
return '{\"msg\": \"参数不正确\"}'
else:
return '{\"msg\": \"请输入参数\"}'
# 获取 *** :查询当前路径下的所有文件
@server.route('/getfiles', methods=['GET'])
def getfiles():
fpath = request.args.get('fpath', '') # 获取用户输入的目录
print(fpath)
if os.path.isdir(fpath):
filelist = os.listdir(fpath)
files = [file for file in filelist if os.path.isfile(os.path.join(fpath, file))]
return '{\"files\": \"%s\"}' % files
else:
return '{\"msg\": \"参数不正确\"}'
# POST *** :上传文件的
@server.route('/upload', methods=['POST'])
def upload():
fname = request.files.get('file') # 获取上传的文件
if fname:
t = time.strftime('%Y%m%d%H%M%S')
new_fname = r'upload/' + t + fname.filename
fname.save(new_fname) # 保存文件到指定路径
return '{\"code\": \"ok\"}'
else:
return '{\"msg\": \"请上传文件!\"}'
if __name__ == '__main__':
server.run(port=8000, debug=True)
```
2. 客户端请求
import requests
import os
# 上传文件到服务器
file = {'file': open('hello.txt','rb')}
r = requests.post('http://127.0.0.1:8000/upload', files=file)
print(r.text)
# 查询fpath下的所有文件
r1 = requests.get('http://127.0.0.1:8000/getfiles',params={'fpath': 'download/'})
print(r1.text)
# 下载服务器download目录下的指定文件
r2 = requests.get('http://127.0.0.1:8000/download',params={'filename':'hello_upload.txt', 'path': 'upload/'})
file = r2.json() # 获取文件内容
basepath = os.path.join(os.path.dirname(__file__), 'download/')
with open(os.path.join(basepath, 'hello_download.txt'),'wb',encoding='utf-8') as f: # 保存文件
f.write(file['content'])
```