精华内容
下载资源
问答
  • python中对文件、文件夹的操作需要涉及到os模块和shutil模块。创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件创建目录:os....

    python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

    创建文件:

    1) os.mknod("test.txt") 创建空文件

    2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件

    创建目录:

    os.mkdir("file") 创建目录

    复制文件:

    shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件

    shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

    复制文件夹:

    shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在

    重命名文件(目录)

    os.rename("oldname","newname") 文件或目录都是使用这条命令

    移动文件(目录)

    shutil.move("oldpos","newpos")

    删除文件

    os.remove("file")

    删除目录

    os.rmdir("dir") 只能删除空目录

    shutil.rmtree("dir") 空目录、有内容的目录都可以删

    转换目录

    os.chdir("path") 换路径

    判断目标

    os.path.exists("goal") 判断目标是否存在

    os.path.isdir("goal") 判断目标是否目录

    os.path.isfile("goal") 判断目标是否文件

    展开全文
  • 本文实例讲述了Python创建系统目录的方法.../temp/gapgers/upload/images/1.png如过temp文件夹不存在,会创建空的文件夹/temp/gapgers/upload/images/以及空文件1.png。该方法只做抛砖引玉,大神勿喷import osdef mk...

    本文实例讲述了Python创建系统目录的方法。分享给大家供大家参考。具体如下:

    Python2 mkdir在没有上级目录时创建会失败.该方法可以创建多级目录。

    /temp/gapgers/upload/images/1.png

    如过temp文件夹不存在,会创建空的文件夹/temp/gapgers/upload/images/以及空文件1.png。

    该方法只做抛砖引玉,大神勿喷

    import os

    def mkfilePower(path):

    """create dirs if the path contain a file create a empty file

    if the dir"s file is exist return False else return True

    ex:path = r"c:/temp/gapgers/upload/images/1.png"

    nomatter there have dir temp or not,we will create it and create a empty file 1.png

    """

    paths = path.split("/")

    temppath = ""

    for index,_spilt in enumerate(paths):

    if index == 0:

    temppath = _spilt

    continue

    temppath = temppath + "/" + _spilt

    if os.path.isdir(temppath):

    pass

    elif index == len(paths)-1:

    if os.path.isfile(temppath):

    return False

    fl = open(temppath,"w")

    fl.close()

    else:

    os.mkdir(temppath)

    return True

    希望本文所述对大家的Python程序设计有所帮助。

    展开全文
  • 新手小白请教。 为什么同一project下的两个python程序, 不管我从哪个... 如果我不同的python文件之间完全没有相关性,如果我想让它们‘各玩各的’。 除了把它建在不同的project这个方法以外,还有什么别的方法嘛?
  • python文件的步骤

    2021-01-01 13:36:06
    python怎么文件? 首先,在桌面上建立一个txt文档,在上面输入以下内容: 你好。Hello.abcdefg啊不错的风格 查看文件的属性,获取文件的绝对路径: D:\HintSoft\Hint-W7\Desktop 文件名是——新建文本文档....
  • python - 建立代理池

    2018-02-27 09:53:15
    该篇文章搬运自个人博客园:darkchii - 博客园 主题 程序简介 程序结构 结构列表 ...文件介绍 ...怎么使用freeProxy包 ...这是一个通过免费代理网站爬取代理ip的python程序 程序结构 结...

    该篇文章搬运自个人博客园:darkchii - 博客园

    主题

    程序简介

    • 这是一个通过免费代理网站爬取代理ip的python程序

    程序结构

    结构列表

    • freeProxy
      • __init__.py
      • proxypool.py
      • proxyweb.py

    结构图

    img

    文件介绍

    • __init__.py

      • 该文件中什么也没有。
    • proxypool.py

      1. 该文件中则是后面给出的源码。
      2. 简介:

        • 其中ProxyIpPool类中有get_kuaidaili_proxy_ipget_data5u_proxy_ip两个方法提供接口可以从两家不同的代理网站中爬取代理ip。

        • 两个方法的接口:

          1. get_kuaidaili_proxy_ip方法返回的是字典:{'ip':ip,'port':port,'type':type,'position':position}
          2. get_data5u_proxy_ip方法返回的是字典:
            {'ip':iplist,'port':portlist,'type':typelist,'nation':nationlist}这意味着可以调用这两个方法根据自己喜爱的方式编写接口来连接到两个方法。
        • 包中还有两个建立代理池的方法:
          create_kuaidaili_proxy_ip_poolcreate_data5u_proxy_ip_pool根据两个网站的不同可以同步代理池。

        • 具体细节还请自行阅读代码。

    • proxyweb.py

      • 该文件中是代理网站的链接。

    源码

    from bs4 import BeautifulSoup
    from freeProxy import proxyweb
    from requests import Session
    from time import sleep
    import random
    import re, os
    
    
    class ProxyIpPool(object):
        r = Session()
    
        def __init__(self,page=None,url=proxyweb.kuaidaili):
            object.__init__(self)
            self.page = page
            self.url = url
    
        def get_kuaidaili_proxy_ip(self):
            tablelist = ['IP', 'PORT', '类型', '位置']
    
            ip = []
            port = []
            type = []
            position = []
    
            headers = {
                'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
                'Accept-Encoding': 'gzip, deflate, br',
                'Accept-Language': 'zh-CN,zh;q=0.9',
                'Connection':'keep-alive',
                'Host': 'www.kuaidaili.com',
                'Upgrade-Insecure-Requests': '1',
                'User-Agent': 'Chrome/64.0.3282.168'
            }
    
            if self.page > 1:
                self.url = self.url + 'inha/' + str(self.page) + '/'
    
            request = self.r.get(self.url,headers=headers,timeout=2,)
            print(request.status_code)
            soup = BeautifulSoup(request.text, 'lxml')
            tags = soup.find_all('td', attrs={'data-title': tablelist})
    
            # 获取所有IP
            ip_match = re.compile(r'data-title="IP">(.+?)</td')
            ip.append(ip_match.findall(str(tags)))
    
            # 获取所有端口
            port_match = re.compile(r'data-title="PORT">(.+?)</td')
            port.append(port_match.findall(str(tags)))
    
            # 获取所有类型
            type_match = re.compile(r'data-title="类型">(.+?)</td')
            type.append(type_match.findall(str(tags)))
    
            # 获取所有位置
            position_match = re.compile(r'data-title="位置">(.+?)</td')
            position.append(position_match.findall(str(tags)))
    
            # ip、port、type、position作为字典保存
            data_title = {'ip':ip,'port':port,'type':type,'position':position}
    
            return data_title
    
        def get_data5u_proxy_ip(self):
    
            headers = {
                'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
                'Accept-Encoding': 'gzip,deflate',
                'Accept-Language': 'zh-CN,zh;q=0.9',
                'Cache-Control': 'max-age=0',
                'Connection': 'keep-alive',
                'Host': 'www.data5u.com',
                'Upgrade-Insecure-Requests': '1',
                'User-Agent': 'Chrome/64.0.3282.168'
            }
    
            request = self.r.get(proxyweb.data5u,headers=headers,timeout=2,)
            '''
            print(request.url)
            print(request.status_code)
            '''
            soup = BeautifulSoup(request.text, 'lxml')
            tags = soup.find_all('ul', attrs={'class': 'l2'})
    
            # 获取ip
            ip_match = re.compile(r'<span><li>(.{10,16})</li></span>')
            iplist = ip_match.findall(str(tags))
    
            # 获取port
            port_match = re.compile(r'port .+?">(.+?)<')
            portlist = port_match.findall(str(tags))
    
            # 获取类型
            type_match = re.compile(r'http://www.data5u.com/free/type/http.*?/index.html">(.+?)<')
            typelist = type_match.findall(str(tags))
    
            # 获取国家
            nation_match = re.compile(r'http://www.data5u.com/free/country/.+?/index.html">(.+?)<')
            nationlist = nation_match.findall(str(tags))
    
            tablelist = {'ip':iplist,'port':portlist,'type':typelist,'nation':nationlist}
    
            return tablelist
    
    def create_kuaidaili_proxy_ip_pool(page):
        print('正在初始化代理池...请耐心等待...')
    
        print(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16'))
        try:
            with open('proxyip.txt', 'a') as fp:
                fp.write(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16') + '\r\n')
        except:
            with open('proxyip.txt', 'w') as fp:
                fp.write(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16') + '\r\n')
    
        pool = ProxyIpPool(page=page).get_kuaidaili_proxy_ip()
    
        sleep(random.random() * 7) # 随机sleep个0 ~ 6s减慢爬虫速度
    
        print('初始化完成!开始创建代理池...')
    
        iplist = pool.get('ip')
        portlist = pool.get('port')
        typelist = pool.get('type')
        positionlist = pool.get('position')
    
        for i in range(len(iplist[0])):
            print(format(iplist[0][i],'<22') + format(portlist[0][i],'<17') + format(typelist[0][i],'<12') + positionlist[0][i])
            try:
                with open('proxyip.txt','a') as fp:
                    fp.write(format(iplist[0][i],'<22') + format(portlist[0][i],'<17') + format(typelist[0][i],'<12') + positionlist[0][i] + '\r\n')
            except FileExistsError as err:
                print(err)
                os._exit(2)
    
    def create_data5u_proxy_ip_pool():
        print('正在初始化代理池...请耐心等待...')
    
        print(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16'))
        try:
            with open('proxyip.txt', 'a') as fp:
                fp.write(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16') + '\r\n')
        except:
            with open('proxyip.txt', 'w') as fp:
                fp.write(format('IP', '^16') + format('PORT', '^16') + format('类型', '^16') + format('位置', '^16') + '\r\n')
    
        pool = ProxyIpPool(page=None).get_data5u_proxy_ip()
    
        sleep(random.random() * 7)  # 随机sleep个0 ~ 6s减慢爬虫速度
    
        print('初始化完成!开始创建代理池...')
    
        iplist = pool.get('ip')
        portlist = pool.get('port')
        typelist = pool.get('type')
        nationlist = pool.get('nation')
    
        for i in range(len(iplist)):
            print(format(iplist[i], '<22') + format(portlist[i], '<17') + format(typelist[i], '<12') + format(nationlist[i], '<1'))
            try:
                with open('proxyip.txt', 'a') as fp:
                    fp.write(format(iplist[i], '<22') + format(portlist[i], '<17') + format(typelist[i], '<12') + format(nationlist[i], '<1') + '\r\n')
            except FileExistsError as err:
                print(err)
                os._exit(2)

    使用方法

    怎么使用freeProxy包

    • 一个简单的用例:
    from freeProxy import proxypool
    
    if __name__ == '__main__':
        for page in range(6):
            proxypool.create_kuaidaili_proxy_ip_pool(page=page)
        '''
        # 或者
        proxypool.create_data5u_proxy_ip_pool()
        '''

    运行结果

    截取部分

    IP PORT 类型 位置
    115.223.239.41 9000 HTTP 浙江省温州市 电信
    114.234.80.219 9000 HTTP 江苏省徐州市 电信

    本地截图

    img2

    最后

    谈谈程序的不足之处

    • 程序没有检测爬取的代理ip的有效性
    • 应该设置周期性运行程序来填充代理池
    • 不能记录上一次运行程序时爬取到哪结束
    • 如果数据很量太大,把数据存储到数据库中更好
    • 代码的一些细节处理并不好

    谢谢观看!欢迎大家交流学习,文章还有许多其他的不足之处,还望大家不吝指教!

    展开全文
  • Python是可以连接数据库,并从数据库获取相应的数据库的,但是怎么连接呢? 这是个问题,以下是我使用Python建立数据库连接的步骤(我使用的工具为:PyCharm) 1.首先下载setuptools-28.8.0.zip 2.解压下载文件,...

    Python是可以连接数据库,并从数据库获取相应的数据库的,但是怎么连接呢?

    这是个问题,以下是我使用Python建立数据库连接的步骤(我使用的工具为:PyCharm)

    1.首先下载setuptools-28.8.0.zip

    2.解压下载文件,双击setup.py进行安装。

    3.打开pycharm

    File----Settings----Interpreter

     

    双击setuptools进入

    找到ibm_db点击Install Package进行安装,等待安装结束,出现以下界面说明安装已经结束

    3.建立Python脚本测试

     

    #-*-coding-*-
    import ibm_db
    conn = ibm_db.connect("DATABASE=dbname;HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;UID=usename;PWD=password;", "", "")
    if conn:
        sql = "SELECT EMPNO,FIRSTNME,BIRTHDATE FROM EMP"
        stmt = ibm_db.exec_immediate(conn, sql)
        result = ibm_db.fetch_both(stmt)
        while( result ):
            print ("员工编号 :", result[0] +'\n'+ "姓名:",result[1] +'\n'+ "生日:",result[2])
            print ('-----------------')
            result = ibm_db.fetch_both(stmt)
    

    执行结果:

     

    转载于:https://www.cnblogs.com/OliverQin/p/6079836.html

    展开全文
  • 现在磁力站很多,但是搜出来的东西乱七八糟的,广告也多,我看多了觉得挺烦的,正好周末无聊,想着自己做一个,下面附上本次利用Python爬虫磁力站点的教程。 下面是我写爬虫时候主要引用的库 当然,抓取的关键词...
  • 上一篇博客写了怎么建立Python和C/C++之间的通信,但是上次测试传入的是一个整数数据,而在实际工程中用到的是传入一个文件的地址。这里需要用到PyUnicode_DecodeFSDefaultAndSize,具体的测试代码如下 int great_...
  • 我正在为数据科学家团队建立一个多用户气流集群,其中包括DAG(ETL,NLP,ML,NN ……)的各种用法,其中一些具有特定的python依赖性.我不能简单地在系统级添加所有DAG依赖项.当然,我可以设置常用的基线,但是对于特定的需求...
  • 前言本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。示例图如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合我自身的习惯外加四个...
  • 获得焦点的文件夹的路径,用快捷键在该文件夹中建立文件。 请问python那个模块能够实现这种功能? pywin32可以吗?
  • linux下有多种方式运行python:1. 命令行执行:建立一个*.py文档,在其中书写python代码。... UNIX脚本:在建立*.py文件后,需要在源代码头部添加python的执行路径,比如"#! /usr/bin/python"。其中,&q...
  • SQL查询分析器由用户分析给定的python文件,然后执行以下操作。 列出所有查询。 检查表是否存在。 检查该列是否存在。 对查询执行“解释”并列出每个查询的索引 明智的建议 对于每个表-建议新索引,还告诉哪些...
  • 掉进去甚至不知道怎么出来,负反馈多了,给人重新建立了消极的神经反射,很容易导致人放弃。文件就是我跌的第一个坑。无论decode、incode再怎么改,open文件方式怎么变,它都只给我回复一句utf-8' codec can't ...
  • Python解释器怎么

    千次阅读 2017-10-19 11:17:18
    Python解释器让我们不用建立一个py文件就可以写Python的代码。 首先,打开cmd,输入python,回车 然后,当出现版本号,还有>>>符号的时候,就说明进入到解释器模式了,然后就可以开始写Python代码了。 ...
  • 例如,我们通过程序建立的列表、字典等数据,当程序结束时,需要把这些数据存储到文件中,当程序再次启动时,可以把这些数据读入到程序中,避免这些数据的重新录入。要实现上面的功能,我们该怎么做呢? 要把列表、...
  • 例如,我们通过程序建立的列表、字典等数据,当程序结束时,需要把这些数据存储到文件中,当程序再次启动时,可以把这些数据读入到程序中,避免这些数据的重新录入。要实现上面的功能,我们该怎么做呢? 要把列表、...
  • 使用SFTP上传与下载文件 方法一 import paramiko transport = paramiko.Transport(("106.15.88.182", ...# 创建sftp对象,SFTPClient是定义怎么传输文件怎么交互文件 sftp = paramiko.SFTPClient.from_transport(t
  • 有一些很棒的python地图库-参见Basemap和Kartograph能让地图更有意思. 我强烈推荐这两个工具, 因为他们都很好用而且很强大. 我想有更简单一些的工具,能依靠Vega的力量并且允许简单的语法点到geoJSON文件,详细描述一...
  • 2013高教社杯全国大学生数学建模竞赛题目(碎纸片的拼接复原) 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片...
  • 比如说同事传来的文档,自己建立文件,想看的电影等等,那大家都会怎么处理这些文件呢? 科研工作者、学生们可能需要阅读大量的文献,我们也需要阅读很多的电子书等等,这些文件你又是如何处理的呢? 是一一归类...
  • 事先已经建立了linux共享目录的网络映射,显示的磁盘驱动器为(X:/) 然后进入dos命令行界面,尝试进入"X:/" G:/> X:/ 系统找不到指定的驱动器。 运行python,检测下是否可以访问X:/ >>>import os >&...
  • Python 的当前工作目录及其改变

    千次阅读 2019-10-19 01:40:39
    python 中,怎么确定当前工作目录呢? 在集成环境里输入一个程序,运行,会要求你保存文件,才可以运行。 这个保存的目录,就是当前工作目录。 看看实例: 建立一个目录,c:\aPython 然后在其下建立一个子目录...
  • FileNotFoundError: [WinError 2] 系统找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:/Doc/tem.py", line 10, in ...
  • Python的上下文管理器

    2018-05-24 17:26:41
    经常在Python代码中看到with语句,仔细分析下,会发现...很多情况,当我们使用完一个资源后,我们需要手动的关闭掉它,比如操作文件建立数据库连接等。但是,在使用资源的过程中,如果遇到异常,很可能错误被直接...
  • python scrapy运行错误

    2015-08-30 06:05:03
    建立一个工程domz,进入到所建立的工程目录下再运行,即D:\Python soft\Scripts\tutorial,然后scrapy crawl domz,出现“scrapy 不是系统内部或外部命令,也不是可运行的程序或批处理文件“错误; 若在D:\Python ...
  • 参考:Python—实现sftp客户端(连接远程服务器) import paramiko transport = paramiko.Transport(("106.15.88.182...# 创建sftp对象,SFTPClient是定义怎么传输文件怎么交互文件 sftp = paramiko.SFTPClient.fr
  • Python学习基本知识-1

    2018-07-20 21:14:44
    (1)首先在桌面建立一个python文件,注意Python文件最好以.py命名。 (2)建立test.py文件,内容如下: ”#“作用是:对一行进行注释操作! 怎么在代码中输入我们国家的语言文字: 在文件开头加入一行 # -*- ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 143
精华内容 57
关键字:

python怎么建立文件

python 订阅