① 如何管理python项目
Virtual Environments
首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?
官方做法是使用Virtual Environments将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或mole:
>python myScript.py
运行的目录就是安装的python解释器,即python.exe所在的目录。而Virtual Environments就是给每个项目都生成一个项目独有的目录,这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录\Tools\scripts下。这是一个生成Virtual Environments的工具。然后运行:
>pyvenv tutorial-env
运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual Environments目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或mole),则加入到各自Virtual Environments目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual Environments后,还需要激活。做法很简单,在上例tutorial-env目录下执行下的命令即可:
>tutorial-env/Scripts/activate
PIP
PIP是官方提供的安装python第三方类库(packages/mole)的工具。它可以去PPI(python packages index)查找或下载第三方类库。网址是:https://pypi.python.org/pypi
找到上例Virtual Environments目录下的pip.exe并运行:
>pip install lib_name
即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual Environments的所有项目使用。PIP安装的其实是package。
Requirements.txt
在Virtual Environments目录下运行:
>pip freeze > requirements.txt
可以生产一个当前项目所有依赖类库及其版本的list文件,文件名就是requirements.txt(当然也可以用别的名字)。文件内容大致如下:
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0
使用requirements.txt的好处就是:
The requirements.txt can then be committed to version control and shipped as part of an application. Users can then install all the necessary packages with “install -r“:
>pip install -r requirements.txt
这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用version control存储Virtual Environments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。
② 求大神指教:如何用python读取xml文件中指定标签的文档内容并将其修改最好写下详细代码,非常感谢哈!
使用python自带的ElementTree模块,给你个例子你就知道了
xml文档
<?xml version="1.0" encoding="utf-8"?>
<config>
<id>0</id>
<log_path>E:/Python</log_path>
</config>
Python 代码,修改id节的内容
from xml.etree import ElementTree
xml_file='config.xml'
xml=ElementTree.ElementTree(file=xml_file).getroot()
xml.find('id').text=1
③ 如何用Python写脚本提取中文文本文件中有特殊标签标记的字段
代码改一下
f = open("test.txt", "r")
while True:
line = f.readline()
if line:
pass # do something here
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print "create %s"%line
else:
break
f.close()
写得可能罗嗦些,就是方便看。
④ 谁知道文件的标签管理具体是怎么回事
这个就好比做规划,先有总分类,再有大分类,中分类,小分类,微类等等,然后再用文字把分类原则写清楚,最好能从文件编号或标签能看出文件大致内容,通常要依实际情况来编列,所以基本上没什么软件用。
⑤ 如何用python将txt标签文件里的坐标对对应文件夹的图像做截取
可以通过Python核心类库来操作网页表单,但有些时候更友好的代码可以让生活更美好。 当你开始使用urllib类库的GET请求做更多事情的时候,放眼Python核心库之外也许更有帮助。
⑥ python处理是Xml文件的,删除标签属性符合条件的!如<data name="test"id="
你可以使用 BeautifulSoup 套件:
安装:
pip install bs4
如果觉得 html 解析器不敷使用,参考文档安装其他适合的解析器。
如果想要详细了解 BeautifulSoup 也请参考官方文档(有中文版本)。
测试档:
以下是我使用的测试文件:
# delete.txt
126
147
# test.xml
<re>
<id>123</id>
<name>abc</name>
</re>
<re>
<id>126</id>
<name>abc</name>
</re>
<re>
<id>135</id>
<name>abc</name>
</re>
<re>
<id>147</id>
<name>abc</name>
</re>
代码:
from bs4 import BeautifulSoup
with open('test.xml') as reader:
xml = reader.read()
deleted_id = []
with open('delete.txt') as reader:
for line in reader:
line = line.strip()
deleted_id.append(line)
def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id
soup = BeautifulSoup(xml, 'html.parser')
tags = soup(has_delete_id)
for tag in tags:
tag.decompose()
print(soup.prettify())
程式输出:
<re>
<id>
123
</id>
<name>
abc
</name>
</re>
<re>
<id>
135
</id>
<name>
abc
</name>
</re>
代码说明:
首先我们从 Beautiful Soup 的套件中汇入 BeautifulSoup 类
from bs4 import BeautifulSoup
接着分别从 delete.txt 和 test.xml 中读出要删除的 id 和主要的 xml 内容,下一步是实体化生成一个 BeautifulSoup对象 soup, 我们采用 html.parser 解析器去解析 xml:
soup = BeautifulSoup(xml, 'html.parser')
在此我们定义了一个用于过滤的 function has_delete_id,每一个在 xml 中的tag 只要是 <re> tag 且含有想要删除的 <id> tag 就会被检索出来:
def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id
接着 soup(has_delete_id) 会帮助我们找到欲删除的 tag,接着走访搜索出来的这些 tag 并呼叫方法 decompose() 来从文件中删除该标签。
最后 soup.prettify()可以帮助我们输出修改后的文件。
⑦ 怎样用QtCreator编辑运行python脚本
我们首先来看看QtCreator能不能编辑运行python脚本。
可以看到新建项目的选项里并没有python相关的选项,看了并不能用QtCreator来管理python项目。
我们来看看另一个方面,看看QtCreator能不能创建编辑python的相关文件吧。
可以看到,有python的相关选项,点击左侧的Python标签,在中间部分可以看到有Python class和Python file两个选项。
这里我们选择Python file,然后点击choose按钮。然后在名称一栏输入qtpythondemo,然后点击下一步。再点击完成,就进入到编辑界面了。我们来看看情况。
可以看到确实可以编辑python脚本文件。
我们来看看能否运行该脚本,在脚本里输入:
print("hello world")
可是我们发现调试菜单,以及界面左下角的运行等按钮都是灰色的,显然用不了。
如果,QtCreator只能进行编辑的话,还不如直接使用IDLE来的方便,或者任何一个功能稍强大的文本编辑器更好,这样岂不是很鸡肋。
下面,我们给QtCreator添加上执行python脚本的功能。
点击,工具菜单,选项打开选项窗口。
点击界面左侧的 环境,右侧选择 外部工具 标签,再点击下面的 添加 按钮,先选择 添加目录 ,然后将新类别修改为RunPy,这个你可以自己取。
点击选中RunPy,然后再点击 添加 按钮,选择 添加工具。这时右侧的灰色区域就处于可编辑状态了。当然新工具也要命名,就用Python3吧。
下面,我们需要对右侧的内容进行编辑设置。具体如下:
1、说明:可以是任何你喜欢的内容,这里我们输入“运行编辑的Python3脚本”
2、执行档:就是python的可执行文件路径,我的是C:\Python34\python.exe
3、参数:输入 %{CurrentDocument:FilePath}
4、工作目录:%{CurrentDocument:Path}
5、Environment:QT_LOGGING_TO_CONSOLE=1
其他的默认即可。上面带有%的是QtCreator的内置环境变量而已,当我们选中某个文本框时,可以看到文本框右侧有个ABC字母的按钮,点开后可以看到很多环境变量列表。
最后,点击Apply和OK即可。
我们来看看配置完成后的情况。
好了,配置完成后,我们来看看怎么运行。
可是调试菜单和左下角的按钮还是灰色呀,没关系。我们刚才是在外部工具的标签页里添加的设置,那就去外部工具找找吧。
我们看到了 外部-RunPy-Python3 正是我们刚刚设置的。
点击Python3看看有什么会发生。
我们看到,界面下方弹出了 概要信息 窗口,里面正是上面 python 脚本的输出。YES!我们成功了!
⑧ 怎么用Python对文件进行基本的操作
用Python对文件进行的一些基本操作如下:
第一,在桌面上新建一个文件夹test,在该文件夹下创建一个python.txt,在该文件里输入一段文字。
第二,打开cmd命令窗口,并输入python,进入python软件命令窗口。
第三,使用open()函数打开文件python.txt文件。
第四,读取文件内容,主要使用了File对象的read()方法。
第五,覆盖重新写入文件,主要使用了File对象write()方法,这里使用read()函数时,第二个参数设置为'w'。
第六,添加写入文件。这里使用read()函数时,第二个参数为'a'。
⑨ python合并txt文件并且加标签,如何操作后续步骤
看上去<song_001><2011-7-21>可以最后来加,因为只需要加到每行的开始就可以了。
所以第一个问题答案是“不是”,应该是最后来加的。