源啊呢哈

Hello

导航

0.Python面试题

   1、字符串型的列表如何转换成列表?如“[1,2,3]”转换成[1,2,3]。

   eval('[1,2,3,4]') —> [1, 2, 3, 4]

  2. Python如何判断两个列表的相同元素?(除了遍历以外?)

列表推导
list1 = [1,3,65,2,7]
list2 = [3,2,5,4]
 
c = [x for x in list1 if x in list2]
d = [y for y in (list1+list2) if y not in c]
 
print(c)
print(d)
for循环
list1 = [1,3,65,2,7]
list2 = [3,2,5,4]
list3 = []
list4 = []
  
for i in list1:
    for j in list2:
        if i == j:
            list3.append(i)
 
for b in (list1 + list2):
    if b not in list3:
        list4.append(b)
 
print(list3)
print(list4)
3、Python如何读取文件?如何读取指定的字符长度?   
https://www.cnblogs.com/huilixieqi/p/6494891.html
文件读写
f = open('song.txt', 'r', encoding='utf-8')  # 第二步:读取文件内容
print(f.read())  # 第三步:关闭文件
f.close()
读取指定长度的内容
with open('song.txt', 'r', encoding='utf-8') as f:
    print(f.read(12))

 

  4、通过Python如何知道某个文件在哪个位置?

import os.path
os.path.basename(文件路径)  获取文件名
os.path.dirname(文件路径)   获取目录
os.path.abspath(filename)    得到的就是文件名的绝对地址
os.path.abspath(os.path.dirname(filename)) 得到绝对目录

 

   5、Python脚本如何在文件中间上传下载文件?(不是执行前也不是执行完再下载)

方法一:
import urllib
import urllib2
import requests
print "downloading with urllib"
url = '//www.jb51.net//test/demo.zip'
print "downloading with urllib"
urllib.urlretrieve(url, "demo.zip")
方法二:
import urllib2
print "downloading with urllib2"
url = '//www.jb51.net//test/demo.zip'
f = urllib2.urlopen(url)
data = f.read()
with open("demo2.zip", "wb") as code:
code.write(data)
方法三:
import requests
print "downloading with requests"
url = '//www.jb51.net/test/demo.zip'
r = requests.get(url)
with open("demo3.zip", "wb") as code:
code.write(r.content)
看起来使用urllib最为简单,一句语句即可。当然你可以把urllib2缩写成:
f = urllib2.urlopen(url)
with open("demo2.zip", "wb") as code:
code.write(f.read())

  6、Python脚本可以通过命令传递一些参数,如果在文件之外要怎么传递参数?

运行python脚本时需要传入一些参数
python script.py 0,1,2 10
python script.py -gpus=0,1,2 --batch-size=10
python script.py -gpus=0,1,2 --batch_size=10

 

   7、Linux如何判断一个文件存在不存在?(除find外)

#文件夹不存在则创建
if [ ! -d "/data/" ];then
  mkdir /data
  else
  echo "文件夹已经存在"
fi

#文件存在则删除
if [ ! -f "/data/filename" ];then
  echo "文件不存在"
  else
  rm -f /data/filename
fi

#判断文件夹是否存在
if [ -d "/data/" ];then
  echo "文件夹存在"
  else
  echo "文件夹不存在"
fi

#判断文件是否存在
if [ -f "/data/filename" ];then
  echo "文件存在"
  else
  echo "文件不存在"
fi

 

   8、Linux下,vim一个文件,如何将文件中所有的123替换成456?

(1) 文件内全局替换
    :%s/123/456/g
    这句话的意思是,文件下得所有123 字符,全部替换为 456,当然也可以用正则匹配比如
    :%s/*.abc/*.def/g
(2) 文件内局部替换
    :20,30s/123/456/g
    把20-30行的 123替换为 456 

 

9、Xpath如何定位到当前节点之前的所有同级节点?

XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:
1.child 选取当前节点的所有子元素
2.parent 选取当前节点的父节点
3.descendant 选取当前节点的所有后代元素(子、孙等)
4.ancestor 选取当前节点的所有先辈(父、祖父等)
5.descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身ancestor-or-self 选取当前节点的所有先辈(父、祖父等)
以及当前节点本身preceding-sibling 选取当前节点之前的所有同级节点 6.following-sibling 选取当前节点之后的所有同级节点 7.preceding 选取文档中当前节点的开始标签之前的所有节点 8.following 选取文档中当前节点的结束标签之后的所有节点 9.self 选取当前节点 attribute 选取当前节点的所有属性 10.namespace 选取当前节点的所有命名空间节点 要定位当前td同级后的一个td //td[.=‘text‘]/following-sibling::td 路径表达式 结果 1./bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。 2./bookstore/book[last()] 选取属于 bookstore 子元素的最后一个 book 元素。 3./bookstore/book[last()-1] 选取属于 bookstore 子元素的倒数第二个 book 元素。 4./bookstore/book[position()<3] 选取最前面的两个属于bookstore元素的子元素的 book 元素。 5.//title[@lang] 选取所有拥有名为 lang 的属性的 title 元素。 6.//title[@lang='eng'] 选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。 7./bookstore/book[price>35.00] 选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.008./bookstore/book[price>35.00]/title 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

 

10、Django中间件的作用?   
https://www.jb51.net/article/136422.htm
11、Django和flash的区别?
https://blog.csdn.net/Canjiuhenqiang/article/details/95615127


 

posted on 2019-11-24 21:17  源啊呢哈  阅读(223)  评论(0)    收藏  举报