當前位置:首頁 » 編程軟體 » 腳本源頭

腳本源頭

發布時間: 2023-08-13 17:55:02

1. 運行一個游戲 提示Autoit錯誤 Line-1:Error:子腳本使用了非數組變數 該怎麼解決,急求!!

如果這個腳本是編譯的(即是EXE文件格式),那麼除非這個AUTOIT腳本能被反編譯,否則沒有辦法解決.

從錯誤的提示來看,應該是腳本編寫不夠完善造成的,這種情況下要想徹底解決問題,還是要從源頭來解決(即修改源代碼).

2. 我執行一段python腳本報錯了,怎麼解決

在程序運行的過程中,如果發生了錯誤,可以事先約定返回一個錯誤代碼,這樣,就可以知道是否有錯,以及出錯的原因。在操作系統提供的調用中,返回錯誤碼非常常見。比如打開文件的函數open(),成功時返迴文件描述符(就是一個整數),出錯時返回-1。
用錯誤碼來表示是否出錯十分不便,因為函數本身應該返回的正常結果和錯誤碼混在一起,造成調用者必須用大量的代碼來判斷是否出錯:

復制代碼代碼如下:

def foo():
r = some_function()
if r==(-1):
return (-1)
# do something
return r

def bar():
r = foo()
if r==(-1):
print 'Error'
else:
pass

一旦出錯,還要一級一級上報,直到某個函數可以處理該錯誤(比如,給用戶輸出一個錯誤信息)。

所以高級語言通常都內置了一套try...except...finally...的錯誤處理機制,Python也不例外。
try
讓我們用一個例子來看看try的機制:

復制代碼代碼如下:

try:
print 'try...'
r = 10 / 0
print 'result:', r
except ZeroDivisionError, e:
print 'except:', e
finally:
print 'finally...'
print 'END'

當我們認為某些代碼可能會出錯時,就可以用try來運行這段代碼,如果執行出錯,則後續代碼不會繼續執行,而是直接跳轉至錯誤處理代碼,即except語句塊,執行完except後,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。

上面的代碼在計算10 / 0時會產生一個除法運算錯誤:

復制代碼代碼如下:

try...
except: integer division or molo by zero
finally...
END

從輸出可以看到,當錯誤發生時,後續語句print 'result:', r不會被執行,except由於捕獲到ZeroDivisionError,因此被執行。最後,finally語句被執行。然後,程序繼續按照流程往下走。

如果把除數0改成2,則執行結果如下:

復制代碼代碼如下:

try...
result: 5
finally...
END

由於沒有錯誤發生,所以except語句塊不會被執行,但是finally如果有,則一定會被執行(可以沒有finally語句)。

你還可以猜測,錯誤應該有很多種類,如果發生了不同類型的錯誤,應該由不同的except語句塊處理。沒錯,可以有多個except來捕獲不同類型的錯誤:

復制代碼代碼如下:

try:
print 'try...'
r = 10 / int('a')
print 'result:', r
except ValueError, e:
print 'ValueError:', e
except ZeroDivisionError, e:
print 'ZeroDivisionError:', e
finally:
print 'finally...'
print 'END'

int()函數可能會拋出ValueError,所以我們用一個except捕獲ValueError,用另一個except捕獲ZeroDivisionError。

此外,如果沒有錯誤發生,可以在except語句塊後面加一個else,當沒有錯誤發生時,會自動執行else語句:

復制代碼代碼如下:

try:
print 'try...'
r = 10 / int('a')
print 'result:', r
except ValueError, e:
print 'ValueError:', e
except ZeroDivisionError, e:
print 'ZeroDivisionError:', e
else:
print 'no error!'
finally:
print 'finally...'
print 'END'

Python的錯誤其實也是class,所有的錯誤類型都繼承自BaseException,所以在使用except時需要注意的是,它不但捕獲該類型的錯誤,還把其子類也「一網打盡」。比如:

復制代碼代碼如下:

try:
foo()
except StandardError, e:
print 'StandardError'
except ValueError, e:
print 'ValueError'

第二個except永遠也捕獲不到ValueError,因為ValueError是StandardError的子類,如果有,也被第一個except給捕獲了。

Python所有的錯誤都是從BaseException類派生的
使用try...except捕獲錯誤還有一個巨大的好處,就是可以跨越多層調用,比如函數main()調用foo(),foo()調用bar(),結果bar()出錯了,這時,只要main()捕獲到了,就可以處理:

復制代碼代碼如下:

def foo(s):
return 10 / int(s)

def bar(s):
return foo(s) * 2
def main():
try:
bar('0')
except StandardError, e:
print 'Error!'
finally:
print 'finally...'

也就是說,不需要在每個可能出錯的地方去捕獲錯誤,只要在合適的層次去捕獲錯誤就可以了。這樣一來,就大大減少了寫try...except...finally的麻煩。

調用堆棧
如果錯誤沒有被捕獲,它就會一直往上拋,最後被Python解釋器捕獲,列印一個錯誤信息,然後程序退出。來看看err.py:

復制代碼代碼如下:

# err.py:
def foo(s):
return 10 / int(s)

def bar(s):
return foo(s) * 2
def main():
bar('0')
main()

執行,結果如下:

復制代碼代碼如下:

$ python err.py
Traceback (most recent call last):
File "err.py", line 11, in <mole>
main()
File "err.py", line 9, in main
bar('0')
File "err.py", line 6, in bar
return foo(s) * 2
File "err.py", line 3, in foo
return 10 / int(s)
ZeroDivisionError: integer division or molo by zero

出錯並不可怕,可怕的是不知道哪裡出錯了。解讀錯誤信息是定位錯誤的關鍵。我們從上往下可以看到整個錯誤的調用函數鏈:

錯誤信息第1行:

復制代碼代碼如下:

Traceback (most recent call last):

告訴我們這是錯誤的跟蹤信息。

第2行:

復制代碼代碼如下:

File "err.py", line 11, in <mole>
main()

調用main()出錯了,在代碼文件err.py的第11行代碼,但原因是第9行:

復制代碼代碼如下:

File "err.py", line 9, in main
bar('0')

調用bar('0')出錯了,在代碼文件err.py的第9行代碼,但原因是第6行:

復制代碼代碼如下:

File "err.py", line 6, in bar
return foo(s) * 2

原因是return foo(s) * 2這個語句出錯了,但這還不是最終原因,繼續往下看:

復制代碼代碼如下:

File "err.py", line 3, in foo
return 10 / int(s)

原因是return 10 / int(s)這個語句出錯了,這是錯誤產生的源頭,因為下面列印了:

復制代碼代碼如下:

ZeroDivisionError: integer division or molo by zero

根據錯誤類型ZeroDivisionError,我們判斷,int(s)本身並沒有出錯,但是int(s)返回0,在計算10 / 0時出錯,至此,找到錯誤源頭。

記錄錯誤
如果不捕獲錯誤,自然可以讓Python解釋器來列印出錯誤堆棧,但程序也被結束了。既然我們能捕獲錯誤,就可以把錯誤堆棧列印出來,然後分析錯誤原因,同時,讓程序繼續執行下去。
Python內置的logging模塊可以非常容易地記錄錯誤信息:

復制代碼代碼如下:

# err.py
import logging

def foo(s):
return 10 / int(s)
def bar(s):
return foo(s) * 2
def main():
try:
bar('0')
except StandardError, e:
logging.exception(e)
main()
print 'END'

同樣是出錯,但程序列印完錯誤信息後會繼續執行,並正常退出:

復制代碼代碼如下:

$ python err.py
ERROR:root:integer division or molo by zero
Traceback (most recent call last):
File "err.py", line 12, in main
bar('0')
File "err.py", line 8, in bar
return foo(s) * 2
File "err.py", line 5, in foo
return 10 / int(s)
ZeroDivisionError: integer division or molo by zero
END

通過配置,logging還可以把錯誤記錄到日誌文件里,方便事後排查。

拋出錯誤
因為錯誤是class,捕獲一個錯誤就是捕獲到該class的一個實例。因此,錯誤並不是憑空產生的,而是有意創建並拋出的。Python的內置函數會拋出很多類型的錯誤,我們自己編寫的函數也可以拋出錯誤。
如果要拋出錯誤,首先根據需要,可以定義一個錯誤的class,選擇好繼承關系,然後,用raise語句拋出一個錯誤的實例:

復制代碼代碼如下:

# err.py
class FooError(StandardError):
pass

def foo(s):
n = int(s)
if n==0:
raise FooError('invalid value: %s' % s)
return 10 / n

執行,可以最後跟蹤到我們自己定義的錯誤:

復制代碼代碼如下:

$ python err.py
Traceback (most recent call last):
...
__main__.FooError: invalid value: 0

只有在必要的時候才定義我們自己的錯誤類型。如果可以選擇Python已有的內置的錯誤類型(比如ValueError,TypeError),盡量使用Python內置的錯誤類型。

最後,我們來看另一種錯誤處理的方式:

復制代碼代碼如下:

# err.py
def foo(s):
n = int(s)
return 10 / n

def bar(s):
try:
return foo(s) * 2
except StandardError, e:
print 'Error!'
raise
def main():
bar('0')
main()

在bar()函數中,我們明明已經捕獲了錯誤,但是,列印一個Error!後,又把錯誤通過raise語句拋出去了,這不有病么?

其實這種錯誤處理方式不但沒病,而且相當常見。捕獲錯誤目的只是記錄一下,便於後續追蹤。但是,由於當前函數不知道應該怎麼處理該錯誤,所以,最恰當的方式是繼續往上拋,讓頂層調用者去處理。
raise語句如果不帶參數,就會把當前錯誤原樣拋出。此外,在except中raise一個Error,還可以把一種類型的錯誤轉化成另一種類型:

復制代碼代碼如下:

try:
10 / 0
except ZeroDivisionError:
raise ValueError('input error!')

只要是合理的轉換邏輯就可以,但是,決不應該把一個IOError轉換成毫不相乾的ValueError。

小結
Python內置的try...except...finally用來處理錯誤十分方便。出錯時,會分析錯誤信息並定位錯誤發生的代碼位置才是最關鍵的。
程序也可以主動拋出錯誤,讓調用者來處理相應的錯誤。但是,應該在文檔中寫清楚可能會拋出哪些錯誤,以及錯誤產生的原因。

3. 完美世界風箏精靈腳本是誰發明的

完美世界風箏精靈腳本是郭洪利發明的。
完美世界風箏精靈腳本是濰坊風箏代表性傳承人郭洪利攜手《完美世界》手游團隊,歷時一個多月精心打造。完美世界風箏精靈腳本妖精玩家可以自動掛機輔助升級,當然也可以用腳本做任務。
郭洪利是土生土長的濰坊人。濰坊,古稱「濰縣」,又名「鳶都」,風箏是這里最具特色的城市名片。濰坊風箏的源頭可以追溯到魯國大思想家墨翟製作第一隻「木鳶」,至今已有兩千多年的歷史,但真正開始興盛,走向民間卻是在明代。

4. 傳奇私服腳本哪裡來的

傳奇是一款老網遊了,2001年9月在盛大的運營下正式出現在大眾眼前,一經上線就迅速火遍全國,但你知道嗎?我們玩的傳奇游戲並不是盛大的原創游戲,而是其創始人陳天橋從韓國引進的,剛開始的盛大對傳奇這個ip僅僅擁有代理權,許多更新和改動也是依據韓服的變化而變化,由於當時互聯網不發達,技術層面上更是達不到,所以經常有玩家吐槽傳奇外掛滿天飛投訴也無果。[1]

傳奇裁決之杖
雖然吐槽不斷,但隨之而來的是越來越多的玩家加入傳奇,而且早期外掛確實增加了不少玩家體驗,像免蠟、自動喝葯這樣的設定對游戲的平衡性破壞並不大,大家也就一邊罵著一邊熬夜玩了。01年到03年都是傳奇的一個直線型向上發展階段,玩家越來越多,內容越來越豐富,到1.76版本重裝上陣時,傳奇的在線玩家已經佔到了當時網民的百分之八十。

傳奇煉獄
好景不長,1.76雖說是伴隨著人氣飆升,但傳奇的發展問題也陸續出現,其中影響最大的莫過於「小作坊」式的傳奇私服陸續出現開始吸引玩家,這件事的源頭還要追溯到02年「傳奇源碼泄露事件」。源碼在外國泄漏後迅速發酵,同年9月流入我國,被一些「民間技術高手」漢化改良推出了最開始的傳奇SF,但盛大對此並沒有上心,畢竟擁有強大的玩家基礎,同款游戲里這類小作坊傳奇完全構不成威脅。

傳奇血飲
此時的盛大忙於源碼泄露爭奪開發商股份,事件到最後利益方面應該是暫時達到了平衡,但源碼流傳甚廣卻沒有得到遏制,傳奇Sf漸漸蔓延開來。而在03-05年期間,傳奇運營的一直是1.76版,這也成為了傳奇官服運營最久的一個版本,老玩家們最有情懷的一個版本,但不得不說接近05年時Sf問題已經非常嚴重的威脅到盛大了,相對於官服,傳奇Sf設定更自由,玩家氪幾千塊就有大佬般的存在感和體驗感。而且玩家少,外掛問題也非常有針對性和較為容易發現。

傳奇半月
最終傳奇Sf慢慢崛起了,而傳奇官服的沒落真的是單純由於傳奇SF嗎?並不見的,小編覺得官服反而擁有非常強的玩家基礎,它的沒落主要還是為了適應大的網游環境而進行的改版,加入了氪金活動,失去了最初傳奇的味道。玩家氪不氪金的游戲體驗差太多了,雖然後面幾年經濟都好起來了,但不是所有玩家都是8L。

傳奇封魔劍
現在的傳奇可謂是在迷之道路上越走越遠了,經常出一些並不適合傳奇ip的活動,僅僅為了適應游戲潮流而丟失自我實在得不償失。難怪老玩家們說,我們懷念傳奇卻不喜歡現在的傳奇了。

5. 求一個windows下從ftp下載所有文件到指定目錄的腳本或批處理,並刪除源頭FTP下的文件

@echo off
(echo open 192.168.1.1 18080
echo admin
echo admin
echo prompt
echo lcd d:\ftpfile
echo mget *
echo mdelete *
echo bye)>ftp.txt
ftp -s:ftp.txt

6. 如何製作一個游戲

1、想出一個點子點子是啟動游戲的引子,是一個游戲的源頭。
這個點子首先在大體上應該是個類似於故事的東西。然後這個故事需要有一個目標。
2、分鏡頭腳本設計理解一個游戲最余戚好的方法是使用分鏡——創造一系列能體現游戲每個關卡或者不同的場景與目標的圖片。每個分鏡用一兩幅圖片來描述正在發生什麼。
3、考慮細節做完分鏡頭腳本設計,就可以開始寫游戲設計的細節。從這個步驟就開始變得復雜了。你將需要思考每一個可能的細節,並棗鍵記錄下來。
4、攥寫設計文檔用類似於電影腳本的形式記錄你在上面兩節凳毀巧所思考出來的東西。攥寫文檔看起來像是例行公事,但是攥寫過程可以讓你整理思路,以使你剔除那些一看就知道很白痴的想法或者添加一些其他的有趣的游戲元素。

7. 愛情腳本

七夕將至,聊一聊與愛情相關的話題,正應景。

(一) 愛情腳本

復旦大學社會學系副教授沈奕斐在她開的課程中,用社會學的思維來理解這個時代的愛情新問題。其中提到了「愛情腳本」的概念:它是由社會的經濟基礎、社會文化所確定的一整套有關愛情的機制。

它告訴我們什麼樣的時間、地點、人物決定了我們在什麼時間段遇上一個人是合適的;什麼樣的感情生活是得到所有人贊賞的。

這些其實是由社會提前決定好的,表面上看起來是我們自己的選擇,但在這選擇背後有這樣一個大的腳本在決定我們怎麼做出所謂的正確選擇。

自己所做的這些選擇不見得一定是最有利於自己的,也不見得是自己內心裡最想做的腳本......

討論愛情時,對於很多的單身朋友來說,經常困惑的一個問題恐怕當屬父母催婚。

沈教授認為,父母對愛情婚姻持有的觀念屬「愛情舊腳本」。

如今,隨著越來越多獨立女性從家庭領域走出來走向社會,時間地點人物這些要素都在發生著變化,年輕人所持有的觀念屬於「愛情新腳本」。

首先,現在年輕人的目標已經不再是找一個人讓我生活得更好,而是如果結婚能讓自己過得更好,所以才會去結婚。

它不再是種宿命,它是一種選擇;從時間角度來看,現在的年輕人認為愛情該發生的時候就發生,而並不一定是說非要在某個時間段。

地點更不是問題了,信息化時代,便捷的交通,地球都已經變成「村落」了,地域影響就更微弱,過往的熟人社會成了陌生人社會。

角色方面,男主外女主內的方式也在悄然變化著,現在更強調男女雙方的各自成長,尤其女性的角色變化,更加註重自我成長。

對比新舊兩個腳本,舊腳本所有的出發點其實是從家庭的利益至上來出發的;而新腳本的出發點是個人的利益角度。

這是新舊兩個腳本巨大的差異。

理解了這點,我們再遇到愛情的一系列問題時,心態上或許可以放平緩些,很多問題並非獨屬於某個人的,而是不少單身年輕群體普遍遇到的。

(二)親密關系的益處

成熟的關系可以滋養彼此,獲得幸福體驗與自我成長,因為在親密關系裡,我們會得到很多益處。

1. 照見自我

關系的另一方,給了一個人照見自我的機會,也可稱對方為「鏡像自我」。和誰談一場怎樣的戀愛,這裡面有很多自我的功課要去學習與體驗。

愛情發生的源頭其實在於本真的那個自己。成熟的關系是兩個獨立的靈魂在某個「惺惺相惜」的時刻與場景相遇相識相知後逐步形成的。

自己是愛的源頭,猶如愛的瀑布,水源豐沛不缺,分享些細支流給對方很容易。

而如果自己本身是匱乏的狀態,依賴對方的認可來獲得自我價值感,這種愛的基礎是不牢固的。

一旦關系破裂,自己會很受傷,而如果沒有檢視自己對待感情的一些觀念和因應方式的話,

或許在下一段關系裡,依然「我行我素" 沒有覺知的話,則會困在愛情中循環往復地受苦。

喜歡李欣頻老師在《愛情覺醒地圖》中提到的一段話:

「愛情就像是一面哈哈鏡,經常扭曲了自己的樣貌,但這也呈現出看自己的方式:認同了別人眼中的自己。

愛情就是一面殘酷的內心明鏡,與遇到怎樣的情人無關。」

2. 聯結感

孤獨是生命的底色,在親密關系中能體會到愛的幸福是人生之幸事。

和對方建立聯結,時間醞釀下結成深厚的感情,呵護陪伴走一段人生旅途,美好的經歷本身就是人生財富。

3. 愛的能力

弗洛姆曾提到,「愛是一種藝術,也是一種能力。「 請相信我們透過學習與體驗能夠學會如何愛。

近來新聞報道中出現了一些關於親密關系的負向新聞。這里想提兩種伴侶關系,做個對比。

《靈性煉金術》中把伴侶關系分為 」業力關系「與」療愈關系「。

書上是這樣定義「業力關系」的:

情利義糾纏的現實社會中,無條件的愛依然稀缺,親密關系的課題依然需要我們用心學習。

其中,保持覺察與溝通尤為重要。

在無條件的愛之下,一切都是自由的。 願你成功,也願你能享受到愛的幸福,覺知愛,在愛中懂得分享,在愛中成長。

熱點內容
讓linux死機 發布:2025-02-04 20:48:08 瀏覽:138
單方塊生存伺服器里如何獲取岩漿 發布:2025-02-04 20:48:07 瀏覽:782
快速指數演算法 發布:2025-02-04 20:20:40 瀏覽:297
python在類中定義函數調用函數 發布:2025-02-04 20:14:47 瀏覽:595
安卓手機的壁紙是哪個 發布:2025-02-04 20:14:44 瀏覽:199
java發展前景 發布:2025-02-04 20:10:19 瀏覽:76
mac登陸密碼哪裡設置 發布:2025-02-04 19:50:20 瀏覽:525
手游腳本封號 發布:2025-02-04 19:42:12 瀏覽:435
玩單機游戲要哪些配置的電腦 發布:2025-02-04 19:17:41 瀏覽:1003
c語言編程圖書 發布:2025-02-04 19:01:52 瀏覽:898