python 常用基础操作

xiaoxiao2021-02-28  128

python 基础操作(一)

1.python版本切换

在windows中如果安装了python2和python3,可以直接进入python的安装路径,把python.exe重命名即可。关于pip指向的python,详细可以参考这篇博客:http://blog.csdn.net/zyx19950825/article/details/61919038

在ubuntu中如果安装的是anaconda,设置默认python为anaconda,可以修改用户的环境变量:

sudo gedit ~/.bashrc

在最后一行加入anaconda的安装路径

export PATH="/home/wrz/anaconda2/bin:$PATH"

保存退出,source ~/.bashrc 使之生效

如果安装了anaconda2 和 anaconda3,希望在命令行里输入python调用python2,输入python3调用python3:在 安装路径下找到可执行文件 anaconda3/bin/python.bin 可以修改python.bin的名字为python3.bin,再去命令行里输入python3,则调用的是anaconda3了。

或者用动态链接库的方法:

ubuntu自带的python的可执行文件在 usr/bin 下:

可以给 anaconda/bin/python.bin 在系统默认的路径里建立一个链接:

sudo ln -s '/home/wrz/anaconda2/bin/python' python_anaconda

再去命令行输入 python_anaconda则可以看到版本变了

推荐还是使用ubuntu自带的python,很多库安装后找python都是找系统默认python路径


2.python常用文件操作

2.1 获取当前路径

关于获取当前路径,这篇博客是我见过讲的最清楚的,特别感谢它的作者:http://www.jb51.net/article/49035.htm

大概总结一下:

方法:

os.getcwd() :执行脚本时所在的路径sys.path[0] || sys.argv[0] :程序入口的路径os.path.split(os.path.realpath(__file__))[0] :真实路径

文件结构:

--/home/wrz/pyfile/ --main.py --sub/ --__init__py --script.py

main.py:

import os import sys from sub import script print "main.py: os.getcwd() = ",os.getcwd() print "main.py: sys.path[0] = ",sys.path[0]," sys.argv[0] = ",sys.argv[0] print "main.py: __file__ =",os.path.split(os.path.realpath(__file__))[0] script.subpath()

script.py:

import os import sys def subpath(): print "script: os.getcwd() = ",os.getcwd() print "script: sys.path[0] = ",sys.path[0]," sys.argv[0] = ",sys.argv[0] print "script.py: __file__ = ",os.path.split(os.path.realpath(__file__))[0]

实验结果:

2.2 文件拷贝重命名

import shutil shutil.copyfile(oldname,newname)import os os.rename(oldname,newname)

2.3 文件读写

import os # find all images in JPEGImages by name given by test.txt f = open('test.txt') imgs = os.listdir('JPEGImages') while 1: line = f.readline() # os.write(f,'some str') line = line.strip('\n') for img in imgs: name = os.path.splitext(img)[0] if line == name: oldname = os.path.join('JPEGImages',img) newname = os.path.join('test',img) shutil.copyfile(oldname,newname) if not line: break

3.python读写xml

十分详细:http://www.runoob.com/python/python-xml.html

4.python给图像画中文标签

使用PIL库:

# -*- coding:utf-8 -*- import PIL import Image import ImageDraw import ImageFont import os.path as osp import os this_dir = osp.dirname(__file__) image_pil = Image.open(osp.join(test_dir,"image.jpg")) drawobj = ImageDraw.Draw(image_pil) # draw rectangle drawobj.rectangle((int(detection[1]),int(detection[2]),int(detection[3]),int(detection[4])),outline="red") drawobj.rectangle((int(detection[1]),int(detection[2]),int(detection[1])+150,int(detection[2])+25),fill=128) # draw label in chinese txt = unicode('中','utf-8') font = ImageFont.truetype('/usr/share/fonts/truetype/YaHei.Consolas.1.11b_0.ttf',18) drawobj.text((int(detection[1]),int(detection[2])),txt,font=font) image_pil.save(osp.join(test_dir,"image.jpg"))

5 python格式化表达

参考博客:http://www.jb51.net/article/63672.htm

语法: ‘…{ }…’.format( ) || ‘…{ : }…’.format

‘{},{}’.format('first word',99)

>>first word,99

'{1},{0},{1}'.format("strings",88)

>>88,strings,88

'{name},{age}'.format(age = 18,name = 'tom')

>>tom,18

'{self.attr1},{self.attr2}'.format(self = myclass)

'{0[1],0[0]}'.format(array=[0,1])

'{:.2f}'.format(3.1415926)

>>3.14

转载请注明原文地址: https://www.6miu.com/read-34685.html

最新回复(0)