# 1、编写一个程序,接收用户输入的内容,并且保存为新的文件,如果用户输入:w,表示文件保存退出

with open(r'/Users/liucheng/Desktop/input2.txt', 'w') as f:

while True:

instring = input("请输入内容:")

if instring != ':w':

f.write("%s\n" % instring)

else:

break

请输入内容:111

请输入内容:aaa

请输入内容:333

请输入内容:bbb

请输入内容:555

请输入内容:ccc

请输入内容::w

# 2、编写一个程序,比较用户输入的文件是否相同,如果不同,显示出所有不同内容的行号

def diff_file(file1, file2):

line = 0

f1 = open(file1, 'r')

f2 = open(file2, 'r')

for line1 in f1:

line2 = f2.readline()

line += 1

#print(line1 + '\n' + line2)

if line1 != line2:

print(line)

f1.close()

f2.close()

diff_file('/Users/liucheng/Desktop/input2.txt', '/Users/liucheng/Desktop/input.txt')

2

4

6

# 3、编写程序,当用户输入文件名和行数的时候,将该文件的前N行内容打印到屏幕上

file_name = input("请输入文件名:")

line = input("请输入行数:")

def print_content(file_name, line):

f = open(file_name)

# l = f.readlines()

# for i in range(0, int(line)):

# print(l[i])

for i in range(int(line)):

print(f.readline())

f.close()

print_content(file_name, line)

# 4、在上道题基础上,增加功能,使用户可以随意的需要显示的行数

# 12:42 显示12行到42行

# : 显示所有内容

# 用以上的形式来表示我们想要打印的起始和结束行数

file_name = input("请输入文件名:")

linenum = input("请输入要显示的行数,格式为1:9或者:")

def print_line(file_name, linenum):

f = open(file_name)

begin,end = linenum.split(':')

if begin == '':

begin = 1

if end == '':

end = -1

begin = int(begin) - 1

end = int(end)

lines = end - begin

# for i in range(begin):

# f.readline()

length=0

for i in range(begin):

length += len(f.readline())

print(length)

f.seek(length, 0)

if lines < 0:

print(f.read())

else:

for j in range(lines):

print(f.readline())

f.close()

print_line(file_name, linenum)

请输入文件名:/Users/liucheng/Desktop/input.txt

请输入要显示的行数,格式为1:9或者:1:5

0

111

222

333

444

555

# 5、编写一个程序,实现”全部替换"的功能

# 打开一个文件

# 把文件中 xxx这样的字符串,替换成sss

# open打开文件

# readline 读取文件内容

# replace 替换

file_name = input("请输入你要打开的文件名:")

rep_word = input("请输入你要替换的字符:")

new_word= input("请输入替换的新的字符串:")

def file_replace(file_name, rep_word, new_word):

f = open(file_name)

content = []

for eachline in f:

if rep_word in eachline:

eachline = eachline.replace(rep_word, new_word)

content.append(eachline)

decide = input("你确定要这样做吗?YES|NO:")

if decide in ["YES", "Yes", "yes"]:

f_write = open(file_name, 'w')

f_write.write(''.join(content))

f_write.close()

file_replace(file_name, rep_word, new_word)

请输入你要打开的文件名:/Users/liucheng/Desktop/input2.txt

请输入你要替换的字符:111

请输入替换的新的字符串:000

你确定要这样做吗?YES|NOyes

# 6、编写一个程序,统计当前目录下每个文件类型的文件数

import os

all_files = os.listdir(os.curdir)

type_dict = dict()

for each_file in all_files:

if os.path.isdir(each_file):

type_dict.setdefault("文件夹", 0)

type_dict["文件夹"] += 1

else:

ext = os.path.splitext(each_file)[1]

type_dict.setdefault(ext, 0)

type_dict[ext] += 1

for each_type in type_dict:

print("该文件夹下有类型为{}的文件有{}个".format(each_type, type_dict[each_type]))

该文件夹下有类型为.icloud的文件有31个

该文件夹下有类型为的文件有1个

该文件夹下有类型为文件夹的文件有4个

该文件夹下有类型为.ipynb的文件有27个

该文件夹下有类型为.pdf的文件有5个

该文件夹下有类型为.txt的文件有3个

该文件夹下有类型为.bak的文件有1个

该文件夹下有类型为.doc的文件有1个

该文件夹下有类型为.mobi的文件有1个

该文件夹下有类型为.pages的文件有1个

# 7、编写一个程序,计算当前文件夹下所有文件的大小

import os

all_files = os.listdir(os.curdir)

file_dict = dict()

for each_file in all_files:

if os.path.isfile(each_file):

file_size = os.path.getsize(each_file)

file_dict[each_file] = file_size

for each in file_dict.items():

print("{}大小{}".format(each[0], each[1]))

Django.ipynb大小15502

full-speed-python.pdf大小1002950

LFS-BOOK-7.7-systemd.pdf大小1761736

Linux.Generic.Block.Layer.pdf大小823373

Linux.Virtual.Filesystem.pdf大小453937

mblog练习.ipynb大小4023

python_dict.ipynb大小7912

python_list.ipynb大小10219

python_set.ipynb大小5730

python_set_tuple.ipynb大小17116

python_tuple.ipynb大小6501

# 8、用户输入文件名以及开始搜索的路径,搜索改文件是否存在,如果遇到文件夹,则进入该文件夹继续搜索

# input接收用户输入的文件名和路径

# os.path.isdir 判断是否是文件夹,如果是的话,则需要进入该文件夹继续搜索,循环调用下我们的函数继续实行

import os

start_dir = input("请输入目录:")

target = input("请输入文件名:")

def search_file(start_dir, target):

os.chdir(start_dir)

for each_file in os.listdir(os.curdir):

if each_file == target:

print(os.getcwd() + os.sep + each_file)

if os.path.isdir(each_file):

search_file(each_file, target)

os.chdir(os.pardir)

search_file(start_dir, target)

请输入目录:.

请输入文件名:Django.ipynb

/Users/liucheng/Documents/learning\Django.ipynb

# 9、用户输入关键字以及开始搜索的路径,搜索关键字是否存在某个文件名中,如果遇到文件夹,则进入该文件夹继续搜索

# in 去判断target这个字符串是否在文件的名字中

import os

start_dir = input("please input start_directory:")

target = input("enter your name:")

def search_file(start_dir, target):

os.chdir(start_dir)

for each_file in os.listdir(os.curdir):

if target in each_file:

print(os.getcwd() + os.sep + each_file)

if os.path.isdir(each_file):

search_file(each_file, target)

os.chdir(os.pardir)

search_file(start_dir, target)

please input start_directory:.

enter your name:Django

/Users/liucheng/Documents/learning/.ipynb_checkpoints/Django-checkpoint.ipynb

/Users/liucheng/Documents/learning/Django.ipynb

/Users/liucheng/Documents/learning/Python新手使用Django架站的16堂课.pdf

# 10、用户输入关键字以及开始搜索的路径,搜索关键字是否存在某个文件名中,如果遇到文件夹,则进入该文件夹继续搜索;

# 最后保存我们的文件存在的地方到我们指定的路径

import os

start_dir = input("please input start_directory:")

target = input("enter your name:")

backup = []

def search_file(start_dir, target):

os.chdir(start_dir)

for each_file in os.listdir(os.curdir):

if target in each_file:

backup_file = os.getcwd() + os.sep + each_file

backup.append(backup_file)

if os.path.isdir(each_file):

search_file(each_file, target)

os.chdir(os.pardir)

return backup

rd = search_file(start_dir, target)

with open(os.getcwd() + os.sep + "backup.txt", 'wb') as f:

f.write("\n".join(rd).encode("utf-8"))

please input start_directory:.

enter your name:Django

python中file是什么意思_python文件file相关推荐

  1. python中filepath路径怎么写_python文件路径操作方法总结

    在python中,文件使用十分频繁,本文将向大家介绍python文件路径的操作:得到指定文件路径.得到当前文件名.判断文件路径是否存在.获得指定文件夹下所有文件.获得文件后缀.拼接路径和文件名. 1. ...

  2. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  3. python中forward是什么意思_Python 中 fd 表示什么?

    以下是即将出版的一本书中的草稿,尚待完善,先发在这里权当回答. -------------------------------- 在Python中可以通过编码实现对文件的读写操作,然而必须清楚的是,程 ...

  4. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  5. python中with open的用法_python中open和with open有什么区别?

    python中,open函数用于打开文件,通过文件对象对文件进行各种处理.with open函数用于文件读写,与open函数功能看起来相同.二者相差一个关键词"with",有什么区 ...

  6. 利用python中的csv库读写csv文件

    利用python中的csv库读写csv文件 python读写csv文件就我知道的方法有:1)利用csv库,2)利用读写txt文件的方式处理,3)利用numpy或pandas库处理 在这篇博客中,博主就 ...

  7. python同时打开两个文件_在python中使用with打开多个文件的方法

    虽然初恋是java, 可是最近是越来越喜欢python, 所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下慢慢进步吧 使用with打开文件的好处不多说,这里记录一下 ...

  8. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  9. python中换行符怎么写_Python读写文件之换行符

    系统的换行符和路径分隔符 os模块可以获取当前系统的换行符和路径分隔符 windows操作系统 >>> os.linesep '\r\n' >>> os.sep ' ...

最新文章

  1. 进入编译器后,一个函数经历了什么?
  2. 物理学家发现粒子是如何自我组装的
  3. 关于python的一些好的书籍推荐-推荐几本对于Python初学者比较好的书籍(内含PDF)...
  4. 圆形界面 开启相机_「基础篇三」手机摄影拍照界面详解
  5. Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules
  6. VMware vSphere 5.5的12个更新亮点(1)
  7. 华为网络配置(ACL)
  8. HashMap 容量的初始化计算公式。是这样算的。请收藏
  9. 深度学习图像分类数据集制作
  10. 智能语音交互社交APP-导声
  11. matlab画正态分布图简单算法
  12. 四种方法解决微信小程序设置背景图片,哪种最好?
  13. OneTab扩展:解决 Chrome 内存占用过多问题
  14. 关于电脑版/PC微信如何恢复聊天记录【实践可行】
  15. 三维旋转矩阵 左乘和右乘分析
  16. UVA1665 Islands (并查集)
  17. memset函数原型
  18. macOS如何正确驱动集成显卡HDMI(包括视频和音频)
  19. pythontrycatch所有异常状态_python 一篇搞定所有的异常处理
  20. void __declspec(naked)解释

热门文章

  1. inventor2014出现inventor应用程序错误0xc0000142
  2. 开发Unity3D空战类插件 战机游戏模板Pro版本
  3. 小站点如何做好长尾词库(600个长尾词排名的经验分享!)
  4. 用python批量查询表格中手机号的运营商及归属地!
  5. 中信银行×百特搭丨赋能数字化管理平台全新升级 探索打造智慧银行最佳实践
  6. 【每日一篇】LinkedList详解
  7. IBM慢病AI模型简介HWProfile
  8. 解决“产品运行所需的信息检索失败。请重新安装xshell”
  9. IP地址库解析——读取IP地址获得实际地理位置信息的java源码实现
  10. mysql数据库同步数据至oracle数据库