導航:首頁 > 源碼編譯 > python期貨腳本指標源碼

python期貨腳本指標源碼

發布時間:2022-07-03 23:08:17

『壹』 如何用python寫一個抓取新浪財經網指定企業年報的腳本

代碼如下:
1). xml可能的中文編碼錯誤處理
def xml_Error_C(filename):
fp_xml=open(filename)
fp_x=''#中文亂碼改正
for i in range(os.path.getsize(filename)):
i+=1
a=fp_xml.read(1)
if a=='&':
fp_xml.seek(-1,1)
if fp_xml.read(6)==' ':
i+=5
continue
else:
fp_xml.seek(-5,1)
fp_x+=a
fp_xml=open(filename,'w+')
fp_xml.write(fp_x)
fp_xml.flush()
fp_xml.close()

2). xml轉xls
def Xmltoxls(xmlname,xlsname):
if os.path.getsize(xmlname)<1024:#小於1K,無該項數據
return False
wb=xlwt.Workbook(encoding='utf-8')
ws=wb.add_sheet('Table')
fp_xml=minidom.parse(xmlname)
root=fp_xml.documentElement
Row=root.getElementsByTagName('Row')
Data=root.getElementsByTagName('Data')
col_num=len(Data)/len(Row)
row_num= 0
for row in Row:
Data=row.getElementsByTagName('Data')
for i in range(col_num):
if len(Data[i].childNodes)==0:
ws.write(row_num,i,' ')
continue
ws.write(row_num,i,Data[i].childNodes[0].nodeValue.strip().encode('utf-8'))
row_num+=1
wb.save(xlsname)
return True上整體代碼:
from xml.dom import minidom
import xlwt
import os,shutil
import time,urllib2
def Xmltoxls(xmlname,xlsname):
if os.path.getsize(xmlname)<1024:
return False
wb=xlwt.Workbook(encoding='utf-8')
ws=wb.add_sheet('Table')
fp_xml=minidom.parse(xmlname)
root=fp_xml.documentElement
Row=root.getElementsByTagName('Row')
Data=root.getElementsByTagName('Data')
col_num=len(Data)/len(Row)
row_num= 0
for row in Row:
Data=row.getElementsByTagName('Data')
for i in range(col_num):
if len(Data[i].childNodes)==0:
ws.write(row_num,i,' ')
continue
ws.write(row_num,i,Data[i].childNodes[0].nodeValue.strip().encode('utf-8'))
row_num+=1
wb.save(xlsname)
return True
def xml_Error_C(filename):
fp_xml=open(filename)
fp_x=''#中文亂碼改正
for i in range(os.path.getsize(filename)):
i+=1
a=fp_xml.read(1)
if a=='&':
fp_xml.seek(-1,1)
if fp_xml.read(6)=='&nbsp;':
i+=5
continue
else:
fp_xml.seek(-5,1)
fp_x+=a
fp_xml=open(filename,'w+')
fp_xml.write(fp_x)
fp_xml.flush()
fp_xml.close()
def errorlog(error):
fp_error=open('errorlog.txt','a')
fp_error.write(error+' ')
fp_error.close
fp_code=open('stockcode..txt')
fp_basic=open('basicdata_url.txt')
temp='z:\temp.xml'
for line in fp_code:#設置代碼起始位置
if line.split()[0]=='601958':
break
for line in fp_code:#遍歷所有代碼及名稱
filepath='basicdata\'+line.split()[0]+line.split()[1].replace('*','&')#建立文件夾
if not os.path.isdir(filepath):
os.makedirs(filepath)
for url in fp_basic:#抓取所有數據並保存
url_f=url.split()[0]+line.split()[0]+('01' if int(line.split()[0])>599999 else '02')+'&exp=1'
print 'I am handle '+line+' '+url.split()[1]+' '+'data for you'
filename=filepath+'\'+line.split()[0]+' '+url.split()[1]+'.xls'
while True:#get xml data
try:
u=urllib2.urlopen(url_f)
time.sleep(0.3)
data=u.read()
f=open(temp,'w+')#保存文件
f.write(data)
f.flush()
f.close()
break
except :
print 'Network error,try latter!'
time.sleep(10)
while True:#xml data to xls data
if url.split()[1] in ['News','Notice','Subject']:
shutil.move(temp,filename) # os.rename("oldname","newname")
break
try:
xml_Error_C(temp)
Xmltoxls(temp,filename)
except IOError:
errorlog('No '+filename)
except:
shutil.move(temp,filename)
errorlog('Not Done '+filename)
break
time.sleep(0.2)
time.sleep(7)
fp_basic.seek(0)
print 'All data have been getted.'
fp_code.close()
fp_basic.close()


『貳』 python腳本思路請教

f=open('文本')
data=f.readlines()
for i in data:
ip=i.split()[0]#獲取ip,具體方法看ip在文本的設置

result=os.popen("ping %s"%i)
#判斷結果

ping通的話再執行telnet測試

不通輸出ip即可並寫入到log
2跟一差不多。本機操作的話就os.popen,遠程操作系統並執行命令的話通過paramiko也可以實現,具體方法都是基本的try except,自己嘗試下即可

『叄』 求幫忙寫一個python自動腳本完成以下步驟:

這個就用shell比較方便吧?
寫一個shell腳本,比如shell.sh
startcluster start xyz
tarcluster put xyz /path/to/file/or/dir /path/on/remote/server
starcluster sshmaster xyz
mpicc abc
mpirun abc
然後在python里直接調用shell.sh
import subprocess
p = subprocess.Popen('/home/username/shell.sh',stdout=subprocess.PIPE)
print p.stdout.readlines()
或者如果你願意的話,也可以直接用subprocess模塊來調用所有的命令。
比如:
p = subprocess.Popen('startcluster start xyz',stdout=subprocess.PIPE)
然後逐個看看每個步驟的返回信息。

『肆』 Python 如何寫腳本

以Python2.7操作為例:

1、首先需要打開電腦桌面,按開始的快捷鍵,點擊Python2.7如圖所示的選項進入。

『伍』 我想知道如何查看python的源代碼

查看腳本的話(python中部分函數是直接用C語言嵌入的,要在官網上搜C源碼),可以使用Pycharm,或者其他IDLE,比如我想查看python中TensorFlow包的Session函數:

  1. 任意在pycharm內的一個.py文件中,輸入這個函數

    import tensorFlow as tf #載入包並命名為tf

    tf.Session()

  2. 然後按住Ctrl按鈕,左鍵單擊Session,就自動打開了對應.py文件

另外一種方法是直接在python本地庫中找對應的.py文件,(可以用help函數先搜索)

『陸』 想寫個python腳本 range() 中我想手動輸入數字變數。然後列印出來比如說5 6 7 8 9,要腳本代碼

#coding=utf-8
x=int(raw_input('inputstartvalue:'))
y=int(raw_input('inputendvalue:'))
foriinrange(x,y):
printi,

python2.x 可用

『柒』 如何由python腳本執行生成的文本文檔查看其py源代碼

python也有反射和自省,可以用dir(object)獲取對象的方法,具體可以參考dive into python這本書。

def info(object, spacing=10, collapse=1):
"""Print methods and doc strings.

Takes mole, class, list, dictionary, or string."""
methodList = [method for method in dir(object) if callable(getattr(object, method))]
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
print "\n".join(["%s %s" %
(method.ljust(spacing),
processFunc(str(getattr(object, method).__doc__)))
for method in methodList])

if __name__ == "__main__":
li = []
info(li)

『捌』 我現在想把自己寫的python模塊源代碼封裝成dll,然後在別的python腳本里調用,可以嗎

可以的,只要把python模塊轉換成dll模塊,利用Python自帶的ctypes模塊載入調用就行。

ctypes 是Python的外部函數庫。它提供了與 C語言兼容的數據類型,並允許調用 DLL 或共享庫中的函數。可使用該模塊以純 Python 形式對這些庫進行封裝。

ctypes導出了cdll對象,在 Windows 系統中還導出了windll和oledll對象用於載入動態鏈接庫。通過操作這些對象的屬性,你可以載入外部的動態鏈接庫。cdll載入按標準的cdecl調用協議導出的函數,而windll導入的庫按stdcall調用協議調用其中的函數。

(8)python期貨腳本指標源碼擴展閱讀:

載入調用DLL的相關方法:

1、載入DLL

載入的時候要根據你將要調用的函數是符合什麼調用約定的。

stdcall調用約定:兩種載入方式

Objdll = ctypes.windll.LoadLibrary("dllpath")

Objdll = ctypes.WinDLL("dllpath")

cdecl調用約定:也有兩種載入方式

Objdll = ctypes.cdll.LoadLibrary("dllpath")

Objdll = ctypes.CDLL("dllpath")

其實windll和cdll分別是WinDLL類和CDll類的對象。

2、調用dll中的方法

載入dll的時候會返回一個DLL對象(假設名字叫Objdll),利用該對象就可以調用dll中的方法。 e.g.如果dll中有個方法名字叫Add(注意如果經過stdcall聲明的方法,如果不是用def文件聲明的導出函數或者extern 「C」 聲明的話,編譯器會對函數名進行修改,這個要注意。)

調用:nRet = Objdll.Add(12, 15) 即完成一次調用。

『玖』 求高手寫一段Python腳本

閱讀全文

與python期貨腳本指標源碼相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:428
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:352