手机蓝牙与mac pro传送文件失败问题解决

 mac  手机蓝牙与mac pro传送文件失败问题解决已关闭评论
9月 162021
 

使用手机与已经蓝牙配对的mac pro机器传送文件,却总提示失败。 解决方法如下:

mac机器还需要打开共享的权限:

打开“系统偏好设置”  -> 选择“共享”  -> 勾选左边的“蓝牙共享”,也可以在右侧界面做一些接收文件存放默认路径等的设置。

DONE!

linux下取出两个文本文件中相同的行或不同的行,计算行数,排除重复行等

 linux  linux下取出两个文本文件中相同的行或不同的行,计算行数,排除重复行等已关闭评论
3月 302021
 

1.  两个文本文件,现在想取出其中的相同的行或不同的行,可以以下操作:(比如文件a.txt和文件b.txt)

grep -wf a.txt b.txt   (取出相同的行)

grep -wvf a.txt b.txt   (取出不相同的行)

 

2.  如果要计算取出的行一共多少行? 如下:

grep -wf a.txt b.txt  | wc -l   (相同的行一共有多少行)

 

3. 如果a.txt有重复行数据,可以使用下面命令过滤并产生新文件a1.txt,然后再用上面的方法比较

sort a.txt | uniq -c | sort -rn | cut -c 9-  > a1.txt  (sort先排序,uniq再计数,sort -rn再按重复数量倒序, cut再截取,后导出)

 

 

XCODE中不同添加方式下获取文件/图片的路径的方法(Bundle.main.path,Bundle)

 swift, xcode  XCODE中不同添加方式下获取文件/图片的路径的方法(Bundle.main.path,Bundle)已关闭评论
12月 202019
 

XCODE中获取添加的文件的路径的3个方法,以下以显示图片测试获取图片路径的方法:

 

测试的UIViewController的demo源码(TestImageViewController.swift),注释中详细描述3个不同添加文件方式下获取路径的方法,GOOD LUCK!

 

import AVFoundation

 

class TestImageViewController: UIViewController {

    

    lazy var imageView: UIImageView = {

       

        let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))

        //方法1:  选择Targets中项目 –> build Phases中 –> copy Bundle Resources点击下面的+ 直接添加的alalay.jpg

        //let testImage = UIImage(contentsOfFile: Bundle.main.path(forResource: “alalay”, ofType: “jpg”)!)

        

        //方法2:  新建目录任意命名如imgs,将测试图片alalay.jpg文件拖入imgs目录后,将imgs目录名称修改为imgs.bundle,将这个imgs.bundle拖入xcode项目

        //let testImage = UIImage(contentsOfFile: Bundle.main.path(forResource: “imgs”, ofType: “bundle”)! + “/” + “alalay.jpg”)

        

        //方法3:   将alalay.jpg图片放在Assets.xcassets中

        let testImage = UIImage(named:“alalay.jpg”)!

        

        imageView.image = testImage

        imageView.contentMode = .scaleAspectFit

        return imageView

    }()

    

    override func viewDidLoad() {

        super.viewDidLoad()

        view.addSubview(imageView)

    }

}

Linux下文件分割与合并(split, cat)(转)

 linux  Linux下文件分割与合并(split, cat)(转)已关闭评论
9月 032019
 

1、前记

Linux学习系列主要侧重数据处理的命令实战学习,包括但不限于awk,grep,sed等命令的实战学习。

2、文件分割(split)

2.1 命令语法

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

参数解释

  • -a:指定输出文件名的后缀长度,默认为2个(aa,ab…);
  • -d:指定输出文件名的后缀用数字代替;
  • -l<行数>:行数分割模式,指定每多少行切成一个小文件;
  • -b<字节>:二进制分割模式,指定每多少字切成一个小文件,支持单位:m,k;
  • -C<字节>:文件大小分割模式,与-b参数类似,但切割时尽量维持每行的完整性;
  • –help:显示帮助;
  • –version:显示版本信息;
  • [输出文件名]:设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

2.2 使用实例

(1)查看文件总行数

wc -l seven.sql

输出:3307194 seven.sql,即约330万行,分割时以30万行为单位。

(2)分割文件

split -l 300000 seven.sql /home/kinson/Desktop/test1/seven_
--解释:
--参数"l"表示按行分割;
--"300000"表示每个文件30w行
--"seven.sql"为将分割文件;
--"/home/kinson/Desktop/test1/seven_"为分割后的文件路径与命名。

(3)分割结果

分割结果

3、文件合并(cat)

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat主要有如下三大功能:

  • 一次显示整个文件:cat filename;
  • 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件;
  • 将几个文件合并为一个文件:cat file1 file2 > file。

3.1 命令语法

cat [-AbeEnstTuv] [--help] [--version] fileName 

参数解释

  • -A:–show-all,等价于 -vET;
  • -b: –number-nonblank,对非空输出行编号;
  • -e:等价于 -vE;
  • -E: –show-ends,在每行结束处显示 $;
  • -n:–number,对输出的所有行编号,由1开始对所有输出的行数编号;
  • -s:–squeeze-blank,有连续两行以上的空白行,就代换为一行的空白行;
  • -t:与 -vT 等价;
  • -T:–show-tabs,将跳格字符显示为 ^I;
  • -v:–show-nonprinting,使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外。

3.2 使用实例

(1)合并全部已分割文件并检验行数

cat test1/seven_* >newseven
wc -l newseven

输出:3307194 newseven,与原文件seven.sql行数一致。

(2)合并部分已分割文件并检验行数

cat test1/seven_aa > seven_part
cat test1/seven_ab >> seven_part
cat test1/seven_ac >> seven_part
wc -l seven_part 

>>表示追加,输出900000 seven_part,即合并了3个文件,每个30万行,所以合并后文件总行数为90万行。

转自链接:https://www.jianshu.com/p/014ec71b0215

tornado文件上传下载举例

 开发  tornado文件上传下载举例已关闭评论
12月 262016
 

1. 文件上传参考:

#!/usr/bin/python
#-*- encoding:utf-8 -*-
import tornado.ioloop
import tornado.web
import shutil
import os

class UploadFileHandler(tornado.web.RequestHandler):
    def get(self):
        self.write('''
<html>
  <head><title>Upload File</title></head>
  <body>
    <form action='file' enctype="multipart/form-data" method='post'>
    <input type='file' name='file'/><br/>
    <input type='submit' value='submit'/>
    </form>
  </body>
</html>
''')

    def post(self):
        upload_path=os.path.join(os.path.dirname(__file__),'files')  #文件的暂存路径
        file_metas=self.request.files['file']    #提取表单中‘name’为‘file’的文件元数据
        for meta in file_metas:
            filename=meta['filename']
            filepath=os.path.join(upload_path,filename)
            with open(filepath,'wb') as up:      #有些文件需要已二进制的形式存储,实际中可以更改
                up.write(meta['body'])
            self.write('finished!')

app=tornado.web.Application([
    (r'/file',UploadFileHandler),
])

if __name__ == '__main__':
    app.listen(3000)
    tornado.ioloop.IOLoop.instance().start()

2. 文件下载代码参考:
def post(self,filename):
    print('i download file handler : ',filename)
    #Content-Type这里我写的时候是固定的了,也可以根据实际情况传值进来
    self.set_header ('Content-Type', 'application/octet-stream')
    self.set_header ('Content-Disposition', 'attachment; filename='+filename)
    #读取的模式需要根据实际情况进行修改
    with open(filename, 'rb') as f:
        while True:
            data = f.read(buf_size)
            if not data:
                break
            self.write(data)
    #记得有finish哦
    self.finish()

python中文件及目录的获取方法

 python  python中文件及目录的获取方法已关闭评论
8月 232016
 

1) 获得脚本文件目录绝对路径

os.path.abspath(os.path.dirname(__file__))

2)获得上级目录

os.path.dirname(fileOrDir)

3)获得脚本文件名

os.path.basename(__file__)

4)获得当前工作目录

os.getcwd()

5) 目录连接

os.path.join(dir1, file1)

6)匹配文件

glob.glob(“dir/test*.log”)

Linux 系统中权限(r、w、x)对目录和文件的操作含义

 linux  Linux 系统中权限(r、w、x)对目录和文件的操作含义已关闭评论
7月 312015
 

记录下,方便后续查找。


一、权限对于目录的意义

1、首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方。

2、r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。

3、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:

                  1)在该目录下新建新的文件或子目录。

                  2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。

                  3)将该目录下已经存在的文件或子目录进行重命名。

                  4)转移该目录内的文件或子目录的位置。

4、x权限:拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

二、权限对于文件的意义

1、也应该明白的是文件是实际含有数据的地方,所以r、w、x权限对文件来说是与其内容有关的。

2、r权限:用于此权限表示可以读取此文件的实际内容。

3、w权限:拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。

4、x权限:表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。

转自:http://blog.csdn.net/cdu09/article/details/10310103