python自動生成代碼
withopen('text.txt','w')astext:
text.write('hello')
B. 實現一個根據python代碼自動生成流程圖難度有多大
用dis模塊去看bytecode,關注一下帶JUMP的指令和CALL_FUNCTION相關的指令可以找到分支、跳轉和函數調用的相關信息(可以找到跳轉和調用的條件,目標,op在source的line number等等信息),再結合inspect的getsource一系列函數應該差不多了。
如果這樣可行的話,難度不大。
當然,ast模塊去看ast應該也行。不過我之前一些項目經驗讓我更喜歡直接去看bytecode。
C. python如何自動對自身代碼進行編寫
先取到腳本文件名
import os
script_path = os.path.realpath(__file__)
然後,open(文件名)
就可以對文件進行操作了
D. python如何自動生成相關元素
python中的generator是生成器,可以每次返回一個結果,並且記住上次的位置,非常節約內存。但是不好的地方是一個生成器只能使用一次,一次之後就會銷毀。
E. Python如何將生成的代碼/函數保存進文件並導入
Python具備動態導入mole並且執行其中代碼的能力,所以你只要import你保存的東西就可以,無需中斷你當前的代碼執行流。
F. Python 程序有什麼好的自動從注釋生成文檔的方法
用Sphinx
以win32系統為例,最簡單的安裝方式是在Dos下輸入如下代碼
pip install -U sphinx
安裝好了之後,用最簡單的半自動生成API文檔的方式進行
例如:你的python安裝在C:\python27, 想要給flask包自動製作文檔,製作完成的文檔放在C:\python_doc\flask的文件夾
代碼如下:
sphinx-apidoc -F -o C:\python_doc\flask C:\python27\lib\site-packages\
(此處-o應緊跟輸出文件夾,不然會產生一個-F的文件夾,多謝@Hyacz)
然後進入C:\python_doc\flask文件夾
cd C:\python_doc\flask
此文件夾下有一個make.bat文件,再執行一下
make html
然後就能在\_build\html文件夾中看到生成好的文檔了,還支持查找的功能
G. 關於Python 生成一個遞進結果的代碼
num1=input("pleaseinputnum1:")
num2=input("pleaseinputnum2:")
while1:
printstr(num1)+""+str(num2)+""
ifnum1-num2==1:
printstr(num1)+""+str(num2+1)+""
break
elifnum1-num2==-1:
printstr(num1+1)+""+str(num2)+""
break
else:
ifnum1>num2:
num1-=1
num2+=1
else:
num1+=1
num2-=1
print"Done!"
運行結果:
please input num1: 10
please input num2: 19
10 19
11 18
12 17
13 16
14 15
15 15
Done!
H. python 代碼生成器怎麼用
生成器是一個包含了特殊關鍵字yield的函數。當被調用的時候,生成器函數返回一個生成器。可以使用send,throw,close方法讓生成器和外界交互。
生成器也是迭代器,但是它不僅僅是迭代器,擁有next方法並且行為和迭代器完全相同。所以生成器也可以用於python的循環中,
生成器如何使用?
首先看一個例子:
復制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def flatten(nested):
for sublist in nested:
for element in sublist:
yield element
nested = [[1,2],[3,4],[5,6]]
for num in flatten(nested):
print num,
結果為1,2,3,4,5,6
遞歸生成器:
復制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def flatten(nested):
try:
for sublist in nested:
for element in flatten(sublist):
yield element
except TypeError:
yield nested
for num in flatten([[1,2,3],2,4,[5,[6],7]]):
print num
結果為:1 2 3 2 4 5 6 7
讓我們一起來看看生成器的本質
首先看下:
復制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def simple_generator():
yield 1
print simple_generator
def repeater(value):
while True:
new = (yield value)
if new is not None: value = new
r = repeater(42)
print r.next()
print r.send('hello,world!')
結果為:
復制代碼 代碼如下:
<function simple_generator at 0x10c76f6e0>
42
hello,world!
可以看出:
1)生成器就是一函數
2)生成器具有next方法
3)生成器可以使用send 方法和外界交互。
I. 怎麼樣通過Python實現自動添加腳本頭信息的示例代碼
#!/usr/bin/python
#title:test4.py
#description:Iamtestscript
#author:python技術
#date:20160902
#version:0.1
#usage:pythontest4.py
#notes:
#python_version:2.6.6
#==============================================================================