windows版python下载:

  https://pan.baidu.com/s/1dsAPp0C9PJUF73kFDdAzXQ

  安装时勾选pip和Add python.exe to Path。

windows版pycharm下载:

  https://pan.baidu.com/s/1DV81hxSsodtukUHNW-Bzgg

一些基础知识:

  1、if __name__ == '__main__'的意思是:

    当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

  2、在python执行py文件

    1. import sys #引入sys库体
    2. sys.path.append("C://myPython") #往系统路径中加入自己存放py文件的地址 
      然后就可以开始通过import的方法导入相关的方法和内容了
    3. from test import * #从test.py文件中加载所有的内容。

文件读写:

  with open(r'f:\test\t1.txt','r') as f:
    print f.read()      读

  f.close()    关闭

  with相当于try...catch;  

  按行读:

  with open(r'f:\test\t1.txt','r') as f:
    for l in f.readlines():
      print l.strip()

  f.close()

  写文件:  

  with open(r'f:\test\t1.txt','w') as f:
    f.write('abcde')

  f.close()

序列化:

  import cPickle as pickle  引入包

  with open(r'f:\test\t1.txt', 'wb') as f:
    dic = 10
    pickle.dump(dic, f)

  f.close()

  with open(r'f:\test\t1.txt', 'rb') as f:
    aa = pickle.load(f)
    print(aa)

  f.close()

多线程:

  

import random
import time,threading
def thread_run(urls):
  for url in urls:
    print "%s ---->>>> %s"%(threading.current_thread().name,url)
    time.sleep(random.random())
  print "thread %s end..."%threading.current_thread().name

t1 = threading.Thread(target=thread_run,name="Thread_1",args=(["url_1","url_2","url_3"],))
t2 = threading.Thread(target=thread_run,name="Thread_1",args=(["url_4","url_5","url_6"],))
t1.start()
t2.start()
t1.join()
t2.join()
print "end....."

  

 //join是主线程等待子线程

  

import random
import threading
import time
class myThread(threading.Thread):
def __init__(self,name,urls):
threading.Thread.__init__(self,name=name)
self.urls = urls def run(self):
for url in self.urls:
print "%s ---->>> %s" %(threading.current_thread().name,url)
print "%s ended..."%threading.current_thread().name t1 = myThread(name="Thread_1",urls=["url_1","url_2","url_3"])
t2 = myThread(name="Thread_2",urls=["url_4","url_5","url_6"])
t1.start()
t2.start()
t1.join()
t2.join()
print "%s end...." %threading.current_thread().name

  线程同步:

import random
import threading
import time
mylock = threading.RLock()
class myThread(threading.Thread):
def __init__(self,name,urls):
threading.Thread.__init__(self,name=name)
self.urls = urls def run(self):
for url in self.urls:
mylock.acquire()
print "%s ---->>> %s --" %(threading.current_thread().name,url)
mylock.release() t1 = myThread(name="Thread_1",urls=["url_1","url_2","url_3"])
t2 = myThread(name="Thread_2",urls=["url_4","url_5","url_6"])
t1.start()
t2.start()
t1.join()
t2.join()
print "%s end...." %threading.current_thread().name

  

Python初学1的更多相关文章

  1. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  2. Python初学笔记之字符串

    一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...

  3. Python初学的易犯错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...

  4. Python初学

    经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...

  5. python 初学笔记 (一)

    初学python第一天,希望自己真正了解计算机语言,并且做出成效. 写下学习笔记,记录学习进度,娱乐学习,不断成长. python详细介绍: python是什么?运用到哪里?有哪些在使用它? pyth ...

  6. Python初学(1)

    最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...

  7. python初学心得之一

    昨天开始接触并学习python,对python有了初步印象. 一.python主要应用方向 二.python语言类型 三.python2和3的主要区别 四.常见字符编码 五.Python语法初学  一 ...

  8. python初学杂记

    python常用命令: 1.python 或者 python3  打开交互式python解释器 2.python hello.py   通过命令提示符运行python脚本 交互式python解释器常用 ...

  9. Mac下python初学之Image库(PIL)

    Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...

  10. python初学day01

    1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...

随机推荐

  1. hdu 2647拓扑排序 容器

    #include<stdio.h> #include<queue> #include<vector> #include<iostream> using ...

  2. [K/3Cloud]调用动态表单时,传递自定义参数

    插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. private void ShowMaterialStock() { obj ...

  3. 0213微信ZABBIX报警

    简介 微信作为日常使用最频繁的工具,因此希望将微信接入zabbix报警. 微信企业号 1.申请微信企业号 申请后,请在“我的企业”页面下记录企业号的CorpID 2.添加通讯录 部门添加完成后,根据实 ...

  4. NYOJ5 Binary String Matching

    Binary String Matching 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Given two strings A and B, whose alp ...

  5. T1082 线段树练习3 codevs

    http://codevs.cn/problem/1082/ 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 ...

  6. 25、Java并发性和多线程-阻塞队列

    以下内容转自http://ifeve.com/blocking-queues/: 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操 ...

  7. springboot跨域请求设置

    当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request).比如说,域名A ( http://domaina ...

  8. 使用CDN

    CDN的全称是Content Delivery Network.中文直译过来是:内容交付网络. 它的主要意思是,将某些内容进行交付的网络.对于站点开发而言,我们所讲的内容通常指的是内容文件(比如jav ...

  9. Azure Event hub usage

    1. create event hub on azure watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/40 ...

  10. 【翻译自mos文章】OGG replicat 进程使用的 TCP port

    OGG replicat 进程使用的 TCP port 来源于: TCP PORT USED BY REPLICAT PROCESSES (文档 ID 1060954.1) 适用于: Oracle G ...