笨办法学习python3练习代码:argv参数变量与文件操作
ex15.py
完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt)
执行ex15.py 如: python ex15.py ex15_sample.txt。则可以读取 ex15_sample.txt这个文件的内容
读取文件的基本操作:
- 打开一个文件,如txt = open(filename)
- 读取文件,如txt.read()
- 对文件操作完,一定要关闭文件,如txt.close()
与文件操作有关的一些函数
- close:关闭文件
- read:读取文件的内容,可以把结果赋值给一个变量
- readline:只读取文本文件的一行
- truncate(缩短的意思):清空文件,小心使用该命令
- write("stuff"):将"stuff"写入文件
- seek(0):将读写位置移动到文件开头
from sys import argv
#sys是一个软件包,把argv这个特性(或者叫模块、方法)插入到代码中
script, filename = argv #filename 是要选择读取的文件名,在这里是ex15_sample.txt #读取文件第一步,打开文件
txt = open(filename)
print(f"Here's your file {filename}:") #读取文件第二步,读文件并打印
print(txt.read())
#文件处理完,一定要关闭
txt.close() print("Type the filename again:") #input中“>”是提示符,打印出来就是>;用户输入的字符串会赋给变量file_again
file_again = input("> ")
txt_again = open(file_again)
print(txt_again.read())
#文件处理完,一定要关闭
txt_again.close()
ex16.py
#close:关闭文件
#read:读取文件的内容,可以把结果赋值给一个变量
#readline:只读取文本文件的一行
#truncate(缩短的意思):清空文件,小心使用该命令
#write("stuff"):将"stuff"写入文件
#seek(0):将读写位置移动到文件开头 from sys import argv
script, filename = argv #filename = ex15_sample.txt
print(f"We're going to erase {filename}.") #erase :清除的意思 print("if you don't want that, hit CTRL-C {^C}.") # hit 点击,打击的意思
print("if you do want that,hit RETURN.") input("?")
print("Opening the file...")
target = open(filename,'w') #open for writing,truncating the file first
print("Truncate the file. Goodbye!") #清空文件
target.truncate() print("Now I'm going to ask you for threes lines.")
line1 = input("line 1: ")
line2 = input("line 2: ")
line3 = input("line 3: ") print("I'm going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
#一行一行接着写入 print("And fianlly,we close it. ")
target.close()
ex17.py
注意事项:不要用echo方法创建txt文件,用echo命令会出错。直接在python3文件夹里面创建txt即可。也就是在运行代码之前直接在python3文件夹里面创建ex17_from.txt和ex17_to.txt两个文件。同时要在ex17_from.txt中写入一些东西(可随意写一些东西),才有内容从ex17_from.txt可以复制到ex17_to.txt中。
'''
把ex17_from.txt的内容 读取出来写入到ex17_to.txt 文件中
1.打开ex17_from.txt文件,默认读方式打开
2.读取文件数据
3.关闭ex17_from.txt文件 1.打开ex17_to.txt文件,默认读方式打开,改成写方式打开
2.写入数据
3.关闭ex17_to.txt文件 ''' from sys import argv
from os.path import exists #exist(存在的意思) script, from_file, to_file = argv
print(f"coping from {from_file} to {to_file}")
in_file = open(from_file)
indata = in_file.read()
print(f"The input file is {len(indata)}bytes long") print(f"Does the output file exists? {exists(to_file)} ") #exist(存在的意思)
print("Ready,hit RETURN to continue, CTRL-C to abort.")
input()
in_file.close() out_file = open(to_file,'w')
out_file.write(indata) print("Alright, all done.") out_file.close()
笨办法学习python3练习代码:argv参数变量与文件操作的更多相关文章
- 笨办法学习python3练习代码ex20.py 函数和文件
注意,还要在python3,就是ex20.py的同目录里面直接创建一个ex20.txt的文件.里面至少要有三行内容 #函数和文件 #readline:只读取文本文件的一行 #seek(0):将读写位置 ...
- 笨办法学习Python3练习代码1-10
ex1.py print("hello world!",end = " ")#不换行 print("hello again") print( ...
- 笨办法学python3练习代码13-14:argv参数变量的学习
ex13.py argv参数的学习 #argv:参数变量(argument variable),这是一个标准的编程术语,在其他语言中也可可以看到.argument可译为: 参数 #如果参数是用户在执 ...
- IOS学习之IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都 ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作1
iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的H ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- Unity3D学习笔记(二十五):文件操作
文件是什么? 存储在硬盘上的最后的节点. 文件夹是什么? 文件的上级单位称为文件夹. 文件夹的基本结构? 文件夹是层级化结构的,对于同级的文件夹不可以重名,父文件夹和子文件夹可以同名> IO:I ...
- Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】
一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...
随机推荐
- html2canvas截图问题,图片跨域导致截图空白
年前的一个项目,要做一个H5截屏分享的功能,使用的是html2canvas插件,截图功能是实现了,但是跨域的图片死活不出来, 经过几天谷歌百度和不断的尝试,终于找到解决办法了,一共经历了让人心力憔悴的 ...
- postman设置页面详解
设置详解/General Trim keys and values in request body:如果使用form-data或者url-encoded的方式向服务器发送数据:将该选项设置为ON,则会 ...
- 从零开始实现multipart/form-data数据提交
在HTTP服务应用中进行数据提交一般都使用application/json,application/x-www-form-urlencoded和multipart/form-data这几种内容格式.这 ...
- day27 作业
# 学校类 class School: #校区的名字:如"老男孩上海校区" #校区的地址:如"上海虹桥" def __init__(self,s_name,s_ ...
- 介绍下重绘和回流(Repaint & Reflow),以及如何进行优化
1. 浏览器渲染机制 浏览器采用流式布局模型(Flow Based Layout) 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了渲染树(Render Tre ...
- 机器学习实战基础(二十五):sklearn中的降维算法PCA和SVD(六) 重要接口,参数和属性总结
到现在,我们已经完成了对PCA的讲解.我们讲解了重要参数参数n_components,svd_solver,random_state,讲解了三个重要属性:components_, explained_ ...
- 聊聊Mysql主从同步读写分离配置实现
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...
- CocosCreator之AssetBundle使用方案分享
前言 Creator2.4 推出了AssetBundle,使得所有平台都有了分包的能力.那么该如何使用这个强大的功能呢?下面介绍一下我个人的用法,仅供参考,水平有限,非喜勿喷. 根据官方文档 指出,之 ...
- Spring Bean的生命周期 ---附详细流程图及测试代码
一.生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点 假设一个Bean实现了所有的接口,大的概况一下Be ...
- Java批量入库Demo
java中往数据库批量插入数据Demo java代码: //入库数据是需要批量入库的List int len =入库数据.size(); //每次循环10条 int incremnet = 10; / ...