我在簡書寫博客, 會使用markdown格式, 而後把相關資源傳到百度網盤, 但最近發現百度網盤的資源常常會被取消分享, 爲了完全解決這個問題, 我把選擇把資源傳到Github, 博客自己的markdown格式能夠做爲README.mdpython
在運行腳本以前,須要按照文章 簡書文章發佈到GitHub, 完成祕鑰對的添加!git
# 本腳本須要提供的資源信息:
## 信息1: github帳戶及密碼,
## 信息2: 新建的github倉庫名稱(駝峯式英文名)
## 信息3: 簡書的.md文檔
## 信息4: 須要上傳的其餘文件資源(單個文件資源不超過100M)
# 本腳本完成三個任務
## 任務1: 根據用戶提供的倉庫名建立github倉庫,
## 任務2: 將簡書.md文檔做爲README.md上傳到github
## 任務3: 將其餘文件資源(單文件不超過100M)上傳到github(原來我一直放到百度盤, 後來發現百度盤分享常常掛掉, 就放棄了百度)
# 環境要求
## 1. 已經安裝curl
## 2. 已經安裝git
import os
import json
def getInfo():
info = {}
with open("./inputInfo.txt", 'r') as f:
jsonStr = ''
lines = f.readlines()
# 過濾註釋, 生成json格式
for line in lines:
if '#' not in line:
jsonStr += line
info = json.loads(jsonStr)
return info
# 在github建立遠程倉庫
def CreateRepository(info):
GitHubUserName = info['GitHubUserName']
GitHubPassWord = info['GitHubPassWord']
GitHubRepositoryName = info['GitHubRepositoryName']
new_command = 'curl -i -u ' + '\'' +GitHubUserName + ':' + GitHubPassWord + '\'' +' -d ' + '\''+ '{"name": ' + '\"'+GitHubRepositoryName +'\"'+ ', ' + '"auto_init": ' + 'true, ' + '"private": ' + 'false, ' + '"gitignore_template": ' + '"nanoc"}' + '\'' + ' https://api.github.com/user/repos'
result = os.popen(new_command).readlines()
if ('HTTP/1.1 201 Created\n' in result):
print("建立成功")
return True
else:
return False
def GetRepository(info):
GetAllRepCommand = 'curl -i -u ' + '\'' + info['GitHubUserName'] + ':' + info['GitHubPassWord'] +'\'' + ' https://api.github.com/user/repos'
print(GetAllRepCommand)
result = os.popen(GetAllRepCommand).readlines()
keyWord = info['GitHubUserName']+'/'+info['GitHubRepositoryName']
# 判斷倉庫是否建立成功
if not (keyWord in str(result)):
return
# 獲取倉庫到同級目錄下
# git@github.com:zhaoolee/ChatRoom.git
GetRepCommand = 'git clone git@github.com:' + keyWord + '.git'
# 將倉庫獲取到本地
result = os.popen(GetRepCommand).readlines()
# 將資源文件放入倉庫
def FillRepository(info):
AllFileName = os.listdir('./')
PreReadMeFile = ''
for FileName in AllFileName:
if FileName[-3:] == '.md':
PreReadMeFile = FileName
# 將md文件替換原有的README.md
ReplaceMdFileCommand = 'cp ./' + PreReadMeFile + ' ./'+ info['GitHubRepositoryName'] + '/README.md'
print("==>", ReplaceMdFileCommand, "<==")
result = os.popen(ReplaceMdFileCommand).readlines()
# 將resource文件夾, 放入倉庫中
RemoveResourceCommand = 'cp -r resource ' + './' + info['GitHubRepositoryName']
print('RemoveResourceCommand==>', RemoveResourceCommand)
result = os.popen(RemoveResourceCommand).readlines()
# 將文件提交到倉庫
def PushRepository(info):
inputRepository = 'cd ' + info['GitHubRepositoryName']
addCommand = 'git add .'
result = os.popen(inputRepository+'\n'+addCommand).readlines()
commitCommand = 'git commit -m "完成項目的初始化"'
result = os.popen(inputRepository+'\n'+commitCommand).readlines()
pushCommand = 'git push'
result = os.popen(inputRepository+'\n'+pushCommand).readlines()
print("完成")
def main():
# 獲取信息
info = getInfo()
# 建立倉庫, 並經過ssh保存到本地
CreateRepository(info)
# 將倉庫git到本地
GetRepository(info)
# 將資源文件轉入代碼倉庫
FillRepository(info)
# 將資源提交到倉庫
PushRepository(info)
if __name__ == '__main__':
main()
複製代碼
{
# 用戶名
"GitHubUserName": "zhaoolee",
# 用戶密碼
"GitHubPassWord": "github",
# 將要新建的倉庫
"GitHubRepositoryName": "TestCreateRep"
}
複製代碼
爲便於管理, 相關資源整合到一張獨立的帖子,連接以下: www.jianshu.com/p/4f28e1ae0…github