在windows下用flask實現上傳,上傳後總是找不到正確的資料夾路徑。修改上傳資料夾為如下的時候:
upload_folder =sys.path[0]
上傳到程式所在的當前資料夾,但是新增了當前路徑下的資料夾後就會出錯,試過了各種組合,最後找到了乙個很好的並且可以隨意任何作業系統之間遷移的方法:
python中os.path常用模組:os.path.sep路徑分隔符 ,linux下就用這個了』/』os.path.altsep:
根目錄:os.path.curdir
當前目錄:os.path.pardir
父目錄:os.path.abspath(path)
絕對路徑:os.path.join()
修改後程式如下圖:
import sys
reload(sys)
sys.setdefaultencoding("utf-8") //設定預設編碼為utf-8可以正常顯示中文
import os
from flask import flask, request, redirect, url_for
from werkzeug import secure_filename
from flask import send_from_directory
import os.path
upload_folder =os.path.curdir+os.path.sep+'tmp'+os.path.sep //該路徑為當前資料夾拼接windows下檔案分隔符再拼接『tmp'資料夾,再拼接檔案分隔符
allowed_extensions = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) //允許上傳的型別
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1] in allowed_extensions
def upload_file():
if request.method == 'post':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
return redirect(url_for('uploaded_file',
filename=filename))
return '''
upload new file'''
def uploaded_file(filename):
if __name__=='__main__':
1.只要確保你沒忘記在 html 表單中設定enctype="multipart/form-data"
屬性,不然你的瀏覽器根本不會傳送檔案。
windows下 上傳pypi包
建立乙個如下圖所示的結構 其中lanedetection22 裡面放的是自己的源 資料夾名字可以隨意修改,lisance 是許可檔案,不明白有啥用 readme.md 是自己包的說明檔案 setup.py 內容如下,name 後面的名字跟之前資料夾的名字相同。在除錯 的時候,要重新開啟乙個pycha...
windows 下 git專案上傳
windows使用者首先得安裝git客戶端,這個網上有很多,就不贅述了,安裝完後會出現gitbash 開啟gitbash終端,輸入 git config global user.name 賬號 git config global user.email 郵箱 然後進入到專案件夾下 git init g...
Flask 檔案上傳
class movieform flaskform url filefield label 檔案 validators datarequired 請上傳檔案!description 檔案 def change filename filename fileinfo os.path.splitext f...