python3上传文件夹到linux_python3 读取linux文件夹里的文件 - CSDN
精华内容
参与话题
  • python 版本: python3.7 操作系统: Windows7 64bit 设备信息: 夜神模拟器版本信息: V_6.2.3.7 在研究“基于Airtest搭建自动化测试框架,并实现几个主要功能的自动化测试”时,关于推送测试报告这块,我是用IIS将...

    python 版本: python3.7
    操作系统: Windows7 64bit
    设备信息:

    • 夜神模拟器版本信息: V_6.2.3.7
      在研究“基于Airtest搭建自动化测试框架,并实现几个主要功能的自动化测试”时,关于推送测试报告这块,我是用IIS将报告的目录部署为一个web站点,就可以随时通过url链接查看每一次运行的报告内容,后面接到一个新任务需要将测试报告放到linux服务器并访问。
      经研究linux下只能安装apache的web服务器,其他你就别想了,iis只能装在微软机器上。在此和大家交流学习下我实现的完整过程:
      Linux 系统的映像文件(.iso 文件):CentOS-7-x86_64-DVD-1804.iso
      注:
      桥接模式:相当于虚拟机的网卡和宿主机的物理网卡均连接到虚拟机软件所提供的 VMnet0 虚拟交换机上,因此虚拟机和宿主机是平等的,相当于一个网络中的两台计算机。这种设置既可以保证虚拟机和宿主机通信,也可以和局域网内的其他主机通信,还可以连接 Internet,是限制最少的连接方式,推荐新手使用。在这里插入图片描述
      服务器操作系统: Linux7.5 64bit
      linux安装httpd,做文件服务器
      第一步,安装
      yum install httpd
      如果提示:已加载插件:fastestmirror, langpacks
      您需要 root 权限执行此命令。在这里插入图片描述
      普通用户使用:yum命令时,系统提示权限不足,于是想到使用sudo命令借用root用户的权限:sudo yum install httpd

      httpd -version
      第二步,开启服务
      service httpd start
      第三步,找到默认的主页位置
      cd /var/www/html/
      第四步,建立文件夹,文件
      mkdir test_reports
      vi 201912261577352790.html
      第五步,在浏览器访问文件服务器,默认端口是80
      http://192.168.10.11/test_reports/
      在这里插入图片描述
      通过Samba共享Linux文件夹
      1、安装samba:
      sudo yum install samba
      报错:samba-libs-4.9.1-10.el7_7.x86_64: [Errno 256] No more mirrors to try.
      有上面提示说明yum源有问题。按顺序试试以下命令
      清除yum缓存:rm -rf /var/cache/yum/

      清除所有yum:yum clean all
      显示仓库列表:yum repolist*
      2、修改该目录权限
      chmod 777 /var/www/html/test_reports(文件夹(目录)的权限就被修改为777可读可写可执行)
      3、 设置目录共享,允许网络用户访问:
      sudo gedit /etc/samba/smb.conf

    [global]
    security = user #这个是验证方式,user是密码登录,不支持share和server,设置user后加入下面一句话
    map to guest = Bad User #
    [test_reports]
    path=/var/www/html/test_reports#共享目录路径
    public = yes#设置共享是否允许guest账户访问
    writable = yes#设置共享是否具有可写权限
    browseable=yes#设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
    使用testparm来检查配置文件
    4、启动服务:
    systemctl start smb
    service smb restart#重新启动Samba服务器
    5、配置防火墙规则: (否则会提示无法访问)
    iptables -I INPUT -p tcp --dport 139 -j ACCEPT
    iptables -I INPUT -p tcp --dport 445 -j ACCEPT
    iptables -I INPUT -p udp --dport 137 -j ACCEPT

    5、查看防火墙状态
    systemctl status firewalld.service
    在这里插入图片描述
    关闭linux防火墙,不然windows无法访问,提示网络可能有问题:sudo systemctl stop firewalld.service
    但一旦服务器重启后,防火墙还会自动启动的。所以要使用systemctl disable firewalld.service命令来禁用防火墙,防止服务器重启自动开启。
    6、如果提示Windows无法访问,没有权限访问,请关闭Selinux
    在这里插入图片描述
    #setenforce 0
    暂时停掉SELinux
    永久禁用SELinux,修改配置文件需要重启机器:
    修改/etc/selinux/config 文件
    sudo gedit /etc/selinux/config
    将SELINUX=enforcing改为SELINUX=disabled
    -----------------------最终效果---------------------
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ------革命尚未成功-----------------------------最后一步--------------------------------------
    python 使用paramiko模块上传本地文件到ssh
    paramiko.Tranport((“目标ip,端口”))#这是上传目标的IP和端口
    paramiko.SFTPClient.from_tranport()#安全文件传输凭证
    sftp.put(loaclfile,remotefile)#loaclfile是要上传的文件,remotefile是上传后要保存的文件名

    如果报错:Exception: Error reading SSH protocol banner
    在这里插入图片描述
    查询sshd port 配置
    sudo cat /etc/ssh/sshd_config
    端口默认这里是22
    在这里插入图片描述
    所以paramiko.Tranport(("目标ip“”,22))

    这样就实现了windows上传本地文件到linux服务器了,大家还有什么疑问可以底下评论,或者还有什么更好更简便的方法也可以一起交流学习!

    展开全文
  • 项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件。所以就需要实现如何把文件从Windows系统传输到Linux系统中。 在项目中使用了pscp.exe这个工具,只要按照pscp.exe的...

      

    项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件。所以就需要实现如何把文件从Windows系统传输到Linux系统中。

    在项目中使用了pscp.exe这个工具,只要按照pscp.exe的使用说明操作即可。只要进入pscp.exe的安装位置,然后输入pscp即可查看pscp的使用说明。

    下面是我机器上的:

    使用Python实现也挺简单的,下面的code主要介绍4中情况:

    1. windows传输文件到Linux

    2. windows传输文件夹到Linux

    3. Linux传输文件到windows

    4. Linux传输文件夹到windows

    code如下:(运行环境:python27+eclipse+pydev)

     

    import os
      
      
    def Window_to_Linux_File(window_path, Linux_path, Linux_ip, username, password):
        print '>>>>>>>>>>>>>>>>>>>>>>>>>Window_to_Linux_File begin'
        
        cmd='C:\STAF\lib\python\SBS\esxtest\pscp.exe -pw {password} {window_path} {username}@{Linux_ip}:{Linux_path}'.format(
                  password=password, window_path=window_path, username=username, Linux_ip=Linux_ip, Linux_path=Linux_path)
        os.system(cmd)
          
        print '<<<<<<<<<<<<<<<<<<<<<<<<<<Window_to_Linux_File end'
          
          
    def Window_to_Linux_Dir(window_path, Linux_path, Linux_ip, username, password):
      print '>>>>>>>>>>>>>>>>>>>>>>>>>Window_to_Linux_Dir begin'
        
      cmd='C:\STAF\lib\python\SBS\esxtest\pscp.exe -pw {password} -r {window_path} {username}@{Linux_ip}:{Linux_path}'.format(
                  password=password, window_path=window_path, username=username,Linux_ip=Linux_ip, Linux_path=Linux_path)
      os.system(cmd )
        
      print '<<<<<<<<<<<<<<<<<<<<<<<<<<Window_to_Linux_Dir end'
        
        
    def Linux_to_Window_File(Linux_path, window_path, Linux_ip, username, password):
      print '>>>>>>>>>>>>>>>>>>>>>>>>>Linux_to_Window_File begin'
        
      cmd='C:\STAF\lib\python\SBS\esxtest\pscp.exe -pw {password} {username}@{Linux_ip}:{Linux_path} {window_path}'.format(
                  password=password, username=username,Linux_ip=Linux_ip, Linux_path=Linux_path, window_path=window_path)
      os.system(cmd )
        
      print '<<<<<<<<<<<<<<<<<<<<<<<<<<Linux_to_Window_File end'  
         
        
    def Linux_to_Window_Dir(Linux_path, window_path, Linux_ip, username, password):
      print '>>>>>>>>>>>>>>>>>>>>>>>>>Linux_to_Window_Dir begin'
        
      cmd='C:\STAF\lib\python\SBS\esxtest\pscp.exe -pw {password} -r {username}@{Linux_ip}:{Linux_path} {window_path}'.format(
                  password=password, username=username,Linux_ip=Linux_ip, Linux_path=Linux_path, window_path=window_path)
      os.system(cmd)
        
      print '<<<<<<<<<<<<<<<<<<<<<<<<<<Linux_to_Window_Dir end'
        
        
      
    if __name__ == '__main__':
      password='*****'
      window_path=r'D:'
      username='****'
      Linux_ip='10.**.***.***'
      Linux_path=r'/var/backup'
        
      Window_to_Linux_File(window_path, Linux_path, Linux_ip, username, password)
      #Window_to_Linux_Dir(window_path, Linux_path, Linux_ip, username, password) 
     
    以上这篇Python实现Windows和Linux之间互相传输文件(文件夹)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
     
    来源:https://www.jb51.net/article/113165.htm

    转载于:https://www.cnblogs.com/sunmoon1993/p/9999369.html

    展开全文
  • 从windows上传文件到linux,目录下的文件夹自动创建 importparamiko importdatetime importos hostname='10.xxx.xxx.xx' username='username' password='***' port=22 defupload(local_dir,remot...

    从windows上传文件到linux,目录下的文件夹自动创建

    import paramiko  
      
    import datetime  
      
    import os  
      
      
    hostname='10.xxx.xxx.xx'  
    username='username'  
    password='***'  
    port=22  
      
    def upload(local_dir,remote_dir):  
        try:  
            t=paramiko.Transport((hostname,port))  
            t.connect(username=username,password=password)  
            sftp=paramiko.SFTPClient.from_transport(t)  
            print('upload file start %s ' % datetime.datetime.now())  
            for root,dirs,files in os.walk(local_dir):  
                print('[%s][%s][%s]' % (root,dirs,files))  
                for filespath in files:  
                    local_file = os.path.join(root,filespath)  
                    print(11,'[%s][%s][%s][%s]' % (root,filespath,local_file,local_dir))  
                    a = local_file.replace(local_dir,'').replace('\\','/').lstrip('/')  
                    print('01',a,'[%s]' % remote_dir)  
                    remote_file = os.path.join(remote_dir,a)  
                    print(22,remote_file)  
                    try:  
                        sftp.put(local_file,remote_file)  
                    except Exception as e:  
                        sftp.mkdir(os.path.split(remote_file)[0])  
                        sftp.put(local_file,remote_file)  
                        print("66 upload %s to remote %s" % (local_file,remote_file))  
                for name in dirs:  
                    local_path = os.path.join(root,name)  
                    print(0,local_path,local_dir)  
                    a = local_path.replace(local_dir,'').replace('\\','')  
                    print(1,a)  
                    print(1,remote_dir)  
                    remote_path = os.path.join(remote_dir,a)  
                    print(33,remote_path)  
                    try:  
                        sftp.mkdir(remote_path)  
                        print(44,"mkdir path %s" % remote_path)  
                    except Exception as e:  
                        print(55,e)  
            print('77,upload file success %s ' % datetime.datetime.now())  
            t.close()  
        except Exception as e:  
            print(88,e)  
              
    if __name__=='__main__':  
         local_dir=r'D:\111'  
         remote_dir='/home/share/111/'  
         upload(local_dir,remote_dir)  
    

     

     

    windows上用python从linux服务器下载文件到指定路径

    import paramiko  
    def remote_scp(host_ip,remote_path,local_path,username,password):  
        t = paramiko.Transport((host_ip,22))  
        t.connect(username=username, password=password)  
        sftp = paramiko.SFTPClient.from_transport(t)  
        src = remote_path  
        des = local_path  
        sftp.get(src,des)  
        t.close()  
      
      
    if __name__ == '__main__':  
        host_ip = '10.xxx.xxx.xx'  
        remote_path = '/home/share/a.pdf'  
        local_path = r'D:\aaa\a.pdf1'  
        username = 'username'  
        password = '******'  
        remote_scp(host_ip,remote_path,local_path,username,password)  

     

    展开全文
  • 两个按钮,一个浏览文件一个上传,在上传按钮里实现将windows系统里的文件上传到linuxlinux虚拟机可以用ssh连上,想用scp命令传过去,但是scp在windows下好像用不了。 而且我看网上基本都是先连上ssh再用scp命令...
  • 使用Python复制Linux文件指定文件夹

    千次阅读 2019-03-18 19:50:58
    使用Python脚本语言将Linux中选定的文件复制指定文件夹,需要使用两个python模块os和shutil import shutil import os 安装shutil时需要 pip install pytest-shutil 将选定文件复制指定文件夹核心代码 srcfile ...

    使用Python脚本语言将Linux中选定的文件复制到指定文件夹,需要使用两个python模块osshutil

    import shutil
    import os
    

    安装shutil时需要

    pip install pytest-shutil
    

    将选定文件复制到指定文件夹核心代码

    srcfile = os.path.join(srcdir, img['filepath'], img['filename'])  // 选定文件
    dstfile = os.path.join(dstdir, img['filename']) // 指定文件夹
    shutil.copyfile(srcfile, dstfile)  // 复制文件
    

    注意:
    srcfiledstfile是要具体到文件名称的绝对路径地址,比如说:/media//dataset/mscoco/test.jpg

    在进入文件夹前还需要一些判定条件,要判别当前文件夹地址是否正确,当前文件是否存在等,可使用以下一些os函数来实现:

    1. os.path.isfile:当前文件是否存在
    2. os.path.split:当前文件路径名称分割
    3. os.path.exists:当前文件夹是否存在
    4. os.makedirs:创建当前文件夹路径中的文件夹
    5. os.path.join:连接路径名称,生成文件夹路径
    展开全文
  • 通过 python -m ...这样就可以共享一台linux上的某个文件夹,在对应的文件夹下运行上面的命令,其他linux主机就可以通过http访问这个目录,进行下载。 可以用 curl http://220.193.1.101:8000/a.tx
  • 最近需要在公司Cent OS 6.5的服务器上用python写代码,但公司服务器不能连外网,搭建python环境和安装numpy、pandas费了不少时间,走了不少弯路,记录一下以备以后查阅。 以下关于下载的,都是从本机联网下载后,...
  • 远程连接Linux主机,执行命令、创建目录、上传及下载文件 #!/usr/bin/python #coding:utf-8 import paramiko from fabric.api import env,put,get import threading class Host: def __init__(self,ip,user...
  • 但如果要将linux环境下的python脚本文件放Windows环境下运行,不能直接运行,那该怎么办呢?  首先,我们要确保我们windows下安装了python编译环境,如:Anaconda。安装了opencv,这个在图像处理时需要用到。...
  • linux下安装python及第三方库

    万次阅读 2018-07-17 19:01:11
    前提条件:一台能联网的linux 1、在想要的位置创建目录:mkdir python(可以将python安装包及第三方库下载此处) 从官网下载地址:https://www.python.org/downloads/source/下载最新版本的python 下载命令:...
  • 网上有很多介绍在pycharm中怎么使用virtualenv ,但是后续在...本地通过idea开发后,生成requirements.txt文件,把整个文件夹上传至服务器,服务器上执行pip install -r requirements.txt,然后python XX.py 运行...
  • Linux中安装pycocotools

    千次阅读 2019-08-11 20:11:13
    在写安装过程前,先简要介绍下环境的基本情况,系统:Centos, TF-GPU...3 进入PythonAPI文件夹,激活 tf_gpu 环境 4 激活环境后,直接 pip install pycocotools 这个时候可能会出现 Failed to establish a new con...
  • 因在公司业务上遇到一个需求,需要将指定服务器上的指定路径下的所有文件,例如:test.csv 上传到hdfs上,参考了网上的一些大佬的帖子实现了需求,故做个笔记方便以后查看,参考地址:... import os ...
  • ImportError: No module named memcache

    千次阅读 2013-10-25 17:56:05
    没有找到windows下的memcache,我们就用linux下的包来安装 先下载memcache linux下的安装包 ftp://ftp.tummy.com/pub/python-memcached/python-memcached-latest.tar.gz 地址从 这里 找到的 rar解压后...
  • jupyter上运行python代码

    千次阅读 2019-03-16 23:26:16
    修改pip源为国内源 修改为国内源的好处是下载速度快 https://www.cnblogs.com/believepd/p/10499844.html 安装和启动jupyter notebook ...上传文件和文件夹 文件: upload – 选择相关文件 文件夹:jupy...
  • 在VM_ware虚拟机中安装python

    千次阅读 2018-10-05 10:51:44
    工作需要搭建一套python开源项目,避免弄坏开发服务器现在VM_ware虚拟机上进行安装; (虚拟机系统信息与自带的python版本类型) 下面开始正式工作: Setp1:下载压缩文件 登陆...
  • python2.7 先在操作系统安装expect [root@V71 python]# vi 3s.py #!/usr/bin/python #coding:utf-8 import sys,re import os import subprocess #scp file to remote node. def scpFileToRemoteNode(user,i...
  • Ubuntu16.04安装python3.6.5详细步骤

    万次阅读 2018-08-06 23:32:49
    环境说明:Ubuntu linux64位操作系统 python@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMPWed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux python@ubuntu:~$ lsb_release -a ...
  • 一个Python项目(带前端),部署Docker的完整过程

    万次阅读 多人点赞 2019-10-30 14:02:20
    前提: docker已经安装好,docker的...序言:介绍一下需要运行的Python项目的结构: 平时在PyCharm里面运行该工程,只要直接运行server.py文件即可 现在希望将该工程,部署docker里面,使用容器启动: ...
  • linux中安装Python-3.6.8

    千次阅读 2019-06-05 20:57:39
    (1)先在官网下载linux版本的python包 ... ... (2)将下载的压缩包上传到linux...(3)在linux中切换root用户,解压该文件夹,并进行配置安装 1) [root@fangjl fangjl]# tar -xvzf Python-3.6.8.tgz 2) 进入解压的目录...
1 2 3 4 5 ... 20
收藏数 14,955
精华内容 5,982
关键字:

python3上传文件夹到linux