python脚本常用

tuple 不可变
list append(obj)、insert([i],obj)、+/pop(i)、remove(obj)/list[i]
set add(obj)/remove(obj)、集合操作
dict update(dict)/pop(key)/get(key,[default])、dict[key] items()\keys()\values

list[0:3] 为第0,1,2个元素
list[0:-1] 从第0个到倒数第一个(不包含倒数第一个)
list[0:] 从第0个到最后一个
range(0,3) 为第0,1,2个元素
range(0,3,2) 第三个参数为间隔为2

一、路径

  1. os.sep:取代操作系统特定的路径分隔符
  2. os.name:指示你正在使用的工作平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
  3. os.getenv()和os.putenv:分别用来读取和设置环境变量
  4. os.remove(file):删除一个文件
  5. os.stat(file):获得文件属性
  6. os.chmod(file):修改文件权限和时间戳(具体:https://www.runoob.com/python/os-chmod.html)
  7. os.mkdir(name):创建目录
  8. os.makedirs():递归文件夹创建函数。
  9. os.rmdir(name):删除目录
  10. os.removedirs(r“c:\python”):删除多个目录
  11. os.system():运行shell命令
  12. os.exit():终止当前进程
  13. os.linesep:给出当前平台的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’
  14. os.listdir(dirname):列出dirname下的目录和文件
  15. os.getcwd():获得当前工作目录 (绝对路径)
  16. os.curdir:返回当前目录(相对路径)
  17. os.chdir(dirname):改变工作目录到dirname
  18. os.symlink(src, dst):创建软连接。os.link():创建硬链接。
  19. os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件
  20. os.path.split():返回一个路径的目录名和文件名
  21. os.path.isdir(name):判断name是不是目录,不是目录就返回false
  22. os.path.isfile(name):判断name这个文件是否存在,不存在返回false
  23. os.path.exists(name):判断是否存在文件或目录name
  24. os.path.getsize(name):或得文件大小,如果name是目录返回0L
  25. os.path.abspath(name):获得绝对路径
  26. os.path.isabs():判断是否为绝对路径
  27. os.path.normpath(path):规范path字符串形式
  28. os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
  29. os.path.splitext():分离文件名和扩展名
  30. os.path.join(path,name):连接目录与文件名或目录
  31. os.path.basename(path):返回文件名
  32. os.path.dirname(path):返回文件路径

二、读写

读取

  1. file=open(‘path’) 读取获取文件
  2. content=file.read() 将文件存放在content中
  3. file.readline() 读取一行
  4. file.readlines() 读取所有行存放在list中
  5. file.close() 关闭流
  6. 注意:一个file=open(‘path’)文件读取后,读取的内容删除。

写入

  1. file=open(‘path’,‘w’) 以写入模式获取文件
  2. file=open(‘path’,‘a’) 以append模式获取文件
  3. file.write(‘some content’) 写入内容
  4. file.close() 关闭流

三、组织文件

  1. shutil.copy(src,dst) 注意dst如果是文件名,则重命名成该文件名,如果dst是文件夹,则保持原来的名字,src不能是文件夹(注意dst路径必须存在)

  2. shutil.copyfile(src,dst) 拷贝文件,dst必须指定文件名,且路径必须存在,与mv命令相似。

  3. shutil.copytree(src,dst) 复制文件树。如果src是文件夹则复制src内部的文件树,如果是文件则复制该文件。注意dst路径不能已经存在

  4. shutil.move(src,dst) 移动改名文件。如果src是文件夹则复制src本身的文件树。如果src是文件,如果dst不存在就将文件名重新命名为dst,与mv命令相似。

  5. shutil.rmtree(‘path’) 删除path处的文件树。如果是文件夹,则删除path本身的文件树

  6. os.walk(‘path’) 返回path的当前文件夹名称、子文件夹名称list、子文件名称list

  7. shutil.make_archive(“shutil_archive_test”,“zip”,“D:\新建文件夹”) 可以压缩,打包文件。

    格式:shutil.make_archive(base_name, format[, root_dir[, base_dir, verbose, dry_run, owner, group, logger])  
     
     base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
     format:	压缩包种类,“zip”, “tar”, “bztar”,“gztar”
     root_dir:要压缩的文件夹路径(默认当前目录)
     owner:用户,默认当前用户
     group:组,默认当前组
     logger:用于记录日志,通常是logging.Logger对象
     
     #例子:
     shutil.make_archive("backup","tar",root_dir="/home/www/") #将/home/www目录下的文件进行备份,		生成backup.tar的文件,其中tar为压缩包的后缀,www为压缩包文件名
  8. zipfile的压缩与解压
    (1)格式:

    #压缩
     import zipfile
     f = zipfile.ZipFile(target,'w',zipfile.ZIP_DEFLATED)
     f.write(filename,file_url)
     f.close()
     
     ·target:是压缩后要保存的路径,可以是: 'C:\\temp\\'
     ·ZIP_DEFLATED:表示压缩,还有一个参数:ZIP_STORE:表示只打包,不压缩。这个Linux中的gz跟tar格式有点类似.
     ·write方法如果只有一个参数filename的话,表示把你filename所带的路径全部压缩到zip文件中。如果带两个参数,表示把filename路径中的那个file压缩一下并且存放到file_url中,中间没有增加任何的文件夹。
     如果要压缩很多的文件,循环的write就ok了。
     ·最后close掉。
    
     #解压
     f = zipfile.ZipFile("zipfilePath",'r')
     f.extract(filename,"temp/")
     f.extractall("temp/")
     

    (2)例子:

    import zipfile
     
     # 压缩
     z = zipfile.ZipFile('laxi.zip', 'w')
     z.write('a.log')
     z.write('data.data')
     z.close()
     
     # 解压
     z = zipfile.ZipFile('laxi.zip', 'r')
     z.extract(filename,"temp/")
     z.extractall("temp/")
     z.close()

四、终端命令

  1. os.system(‘commond’) 执行终端命令不返回结果

  2. os.popen(‘commond’) 执行终端命令并返回系统命令的结果
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJKOGKdC-1573094036990)(https://i.imgur.com/UGqnPuB.png)]
    注意:以上os不推荐使用。

  3. subprocess.call(args,shell = True) 等待任务执行完成,返回值为0(成功)或1(失败),把执行结果输出到屏幕中。如果shell=True,args一般为list类型或者字符串类型,如果为False,则必须为list类型。

  4. subprocess.check_call(args,shell = True) 等待任务执行完成,返回值为0(成功),把执行结果输出到屏幕中,如果执行失败,则报错。如果shell=True,args一般为list类型或者字符串类型,如果为False,则必须为list类型。

  5. subprocess.check_output(args,shell = True) 等待任务执行完成,返回值为执行结果,如果执行失败,则报错。如果shell=True,args一般为list类型或者字符串类型,如果为False,则必须为list类型。

  6. subprocess.getoutput(‘commond’) 得到str类型的命令结果
    subprocess.getstatusoutput(‘commond’) 得到元组类型的结果(int:status,str:result)----0成功,1失败
    subprocess.Popen(…)参数太多了,有时间再看
    https://blog.csdn.net/RonnyJiang/article/details/53333538
    https://www.cnblogs.com/yyds/p/7288916.html
    subprocess.call(‘脚本/shell’, shell=True)
    Popen和call的区别是前者无阻塞,会和主程序并行运行,后者必须等待命令执行完毕,如果想要前者编程阻塞可以这样:
    s = subprocess.Popen(‘脚本/shell’, shell=True)
    s.wait()
    retcode = subprocess.call([“ls”, “-l”])

  7. pexpect模块 自动化运维交互工具
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QHl2WDOZ-1573094036991)(https://i.imgur.com/RHTnA8t.png)]
    常用例子:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OHrlG7cW-1573094036991)(https://i.imgur.com/kisCsGx.png)]
    https://www.jianshu.com/p/cfd163200d12
    https://blog.csdn.net/yancychas/article/details/83655483

五、时间

  1. time.time() 当前时间的时间戳
  2. time.sleep(5) 休眠5秒,单位是秒
  3. datetime.datetime.now() 当前时间
  4. datetime.datetime(2018,11,2,17,46,24,6) 制造此时间的datetime
  5. datetime.datetime.now().year
    .date()
    .time()
    获取时间的某一项
  6. datetime.datetiome.fromstamp(timestmp) 获取当前时间戳的时间
  7. 时间可以比较,时间更大,数值更大
  8. datetime.timedelta(days=2,hours=2,minutes=3,seconds=4) 表示一段时间,可以.days.seconds.totalseconds获取相应的时间
  9. datetime.datetime.now().strftime(’%Y/%m/%d %H:%M:%S’) 将时间对象转换为字符串对象
  10. datetime.datetime.strptime(‘date str’,‘dateformat’) 将时间字符串转换为时间对象

六、其他

  1. __init__(self,shuxing1,shuxing2)方法为类的初始化
  2. 如果实例属性的开头为__,例如self.__name,则代表该属性为私有化,类外部不能访问。
  3. '_'开头的实例变量不是私有化,但是一般认为其私有化
  4. 类也有类变量,直接在类中定义,可通过实例变量覆盖类变量,即实例变量>类变量。例如:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vbmTTd6y-1573094036992)(https://i.imgur.com/K25gepe.png)]
  5. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性
  6. 可通过以下方法来调用新线程
threadObj=threading.Thread(target=functionName)
threadObj.start()
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《ArcGIS Python常用脚本》是一份包含常用脚本的文档。ArcGIS是一款专业的地理信息系统软件,可以用于地图制作、空间分析和数据管理等工作。而Python是一种常用的编程语言,在ArcGIS中也可以使用Python编写脚本来完成各种地理信息处理任务。 这份文档主要包括了一些常见的Python脚本示例,以帮助用户在ArcGIS中进行地理信息处理。这些脚本可以用于各种地理数据操作,如数据导入、属性查询、空间分析、地图生成等。通过学习和应用这些脚本,用户可以提高工作效率,简化繁琐的操作,并且可以根据需要进行自定义修改。 《ArcGIS Python常用脚本》不仅仅是一份简单的代码集合,还包含了详细的说明和示例。每个脚本都会附带注释,解释脚本的功能和使用方法。这样用户可以更容易地理解和使用这些脚本,甚至可以根据自己的需求进行修改和扩展。 这份文档的目的是帮助ArcGIS用户更好地利用Python编写脚本来完成各种地理信息处理任务。无论是初学者还是有一定经验的用户,都可以从中获益。通过学习和应用这些常用脚本,用户可以更高效地处理地理数据,提高工作效率。 总而言之,《ArcGIS Python常用脚本》是一份有助于ArcGIS用户利用Python编写脚本的文档,它包含了一些常见的脚本示例和详细的说明。通过学习和应用这些脚本,用户可以提高工作效率,简化繁琐的操作,并且可以根据需要进行自定义修改。 ### 回答2: ArcGIS是一款常用的地理信息系统(GIS)软件,而Python是一种常用的编程语言。两者结合使用可以进行各种地理空间数据的分析、处理和可视化。在ArcGIS中,Python可以用来编写脚本,以实现自动化的数据处理和分析任务。 常用的ArcGIS Python脚本包括: 1. 数据导入和导出脚本:可以使用Python脚本将各种常见的地理空间数据格式(如Shapefile、CSV、GDB等)导入到ArcGIS中,或将ArcGIS中的数据导出到其他格式。 2. 空间分析脚本:可以使用Python脚本执行各种空间分析操作,如缓冲区分析、叠加分析、空间插值等。通过编写脚本,可以将复杂的空间分析过程自动化,提高工作效率。 3. 地图生成脚本:可以使用Python脚本生成各种类型的地图,包括静态地图和交互式地图。通过编写脚本,可以自定义地图的样式和内容,满足不同的需求。 4. 地理数据处理脚本:可以使用Python脚本对地理空间数据进行各种处理,如数据清洗、特征提取、数据转换等。通过编写脚本,可以批量处理大量的地理数据,提高数据处理的效率。 5. 工作流程自动化脚本:可以使用Python脚本将多个ArcGIS操作组合起来,形成完整的工作流程。通过编写脚本,可以实现一键式地执行多个操作,简化工作流程,减少人工操作的时间和精力。 总之,ArcGIS Python脚本是一种强大的工具,可以帮助地理信息专业人士在ArcGIS软件中进行各种数据处理和分析任务的自动化。熟练掌握ArcGIS Python脚本编程,可以提高工作效率,减少重复劳动,使地理信息工作更加高效。 ### 回答3: 首先,ArcGIS是一款专业的地理信息系统软件,而Python是一种功能强大的编程语言。ArcGIS Python是通过使用Python编写和执行脚本来扩展ArcGIS功能的方法。 ArcGIS Python常用脚本.docx是一个文档,其中包含了常见的ArcGIS Python脚本示例和说明。这些脚本可以帮助用户更高效地处理和分析地理空间数据。 在这个文档中,你可能会找到一些常用的ArcGIS Python脚本,如数据导入导出脚本、地图制作脚本、空间分析脚本等。这些脚本可以帮助用户在ArcGIS环境中自动化执行特定的任务。 例如,数据导入导出脚本可以帮助用户将不同格式的地理空间数据转换为ArcGIS能够识别的格式,以便用户可以在ArcGIS中进行进一步的分析和可视化。 地图制作脚本可以帮助用户根据特定的需求自动生成地图,包括选择合适的底图、添加地理要素、设置符号等。 空间分析脚本可以帮助用户进行常见的空间分析任务,如缓冲区分析、叠加分析、地理加权回归等,以便用户可以从地理空间数据中提取有价值的信息。 总之,ArcGIS Python常用脚本.docx提供了一些常见的ArcGIS Python脚本示例,这些脚本可以帮助用户在ArcGIS环境中更好地处理和分析地理空间数据。用户可以根据自己的需求和学习目标来查找和学习适合自己的脚本示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值