标签: read-write

Bash读/写文件描述符 - 寻找文件的开头

我尝试在bash中使用读/写文件描述符,以便我可以删除文件描述符后面引用的文件,如下所示:

F=$(mktemp)
exec 3<> "$F"
rm -f "$F"

echo "Hello world" >&3
cat <&3
Run Code Online (Sandbox Code Playgroud)

但该cat命令没有输出.如果我使用单独的文件描述符进行读写,我可以实现我想要的:

F=$(mktemp)
exec 3> "$F"
exec 4< "$F"
rm -f "$F"

echo "Hello world" >&3
cat <&4
Run Code Online (Sandbox Code Playgroud)

打印Hello world.

我怀疑当你从写入切换到读取时,bash不会自动寻找文件描述符的开头,以下bash和python代码的组合证实了这一点:

fdrw.sh

exec 3<> tmp
rm tmp

echo "Hello world" >&3
exec python fdrw.py
Run Code Online (Sandbox Code Playgroud)

fdrw.py

import os  

f = os.fdopen(3)
print f.tell()
print f.read()
Run Code Online (Sandbox Code Playgroud)

这使:

$ bash fdrw.sh
12

$ # This is the prompt reappearing
Run Code Online (Sandbox Code Playgroud)

有没有办法实现我想要的只是使用bash?

unix linux bash file-io read-write

12
推荐指数
5
解决办法
1万
查看次数

本地HTML文件与(读/写)本地.xlsm Excel文件通信的最佳方式

我是一名教师.我的成绩簿是一个.xlsm文件,位于我的Google云端硬盘文件夹中.我正在构建一个Web应用程序,也在我的Drive文件夹中,显示根据座位表排列的学生姓名.我想在我的Android手机上运行该应用程序,然后单击学生的姓名以在成绩簿中添加参与标记.该应用还应显示学生现有的参与分数(来自成绩簿).完成这样的事情的最佳方法是什么?

*我最初尝试使用另一个.xlsm文件执行此操作但是,当我意识到宏不能在Android版本的Excel上运行时,我切换到基于HTML的应用程序.这是正确的决定吗?

这是一个示例.xlsm文件.在这种情况下,应用程序将检查单元格A2以确保它是正确的学生,然后读取和写入单元格B2.

在此输入图像描述

javascript excel html5 android read-write

12
推荐指数
1
解决办法
602
查看次数

使用select读取和写入相同的套接字(TCP)

我们正在写一个客户端和服务器(我认为是)非常简单的网络通信.多个客户端连接到服务器,然后服务器将数据发送回所有其他客户端.

服务器只是位于阻塞select循环中等待流量,当它到来时,将数据发送到其他客户端.这似乎工作得很好.

问题是客户.在阅读时,它有时会想要写一次.

但是,我发现如果我使用:

 rv = select(fdmax + 1, &master_list, NULL, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

我的代码将阻塞,直到有新数据要读取.但有时(异步,来自另一个线程)我将在网络通信线程上写入新数据.所以,我希望我的select定期唤醒,让我检查是否有要写的数据,如:

if (select(....) != -1)
{
  if (FD_SET(sockfd, &master_list))
     // handle data or disconnect
  else
     // look for data to write and write() / send() those.
}
Run Code Online (Sandbox Code Playgroud)

我尝试将选择设置为轮询模式(或荒谬的短暂超时):

// master list contains the sockfd from the getaddrinfo/socket/connect seq
struct timeval t;
memset(&t, 0, sizeof t);
rv = select(fdmax + 1, &master_list, NULL, NULL, &t);
Run Code Online (Sandbox Code Playgroud)

但是发现那时客户端永远不会得到任何传入的数据.

我也尝试将socket fd设置为非阻塞,如:

fcntl(sockfd, F_SETFL, O_NONBLOCK);
Run Code Online (Sandbox Code Playgroud)

但这并没有解决问题:

  1. 如果我的客户端select()没有struct …

c sockets select read-write blocking

11
推荐指数
2
解决办法
2万
查看次数

在Registry中保存TextBox值

我在阅读/写入/保存Registry中的值时需要一些指导.我不熟悉在注册表中保存内容的概念

我有一个Winform,我必须读取/写入App.config文件并使用winform更改用户名和密码.在我的winform中我有2个文本框,当我输入值并点击提交时,它会更改app.config中的值我以某种方式做到了,没有问题.

现在我需要将我在Textboxes中输入的值发送到注册表并保存它们,我也应该能够读取它们.

我有多害羞吗?

c# registry read-write winforms

11
推荐指数
2
解决办法
2万
查看次数

棉花糖的存储和图库使用的读写权限

我正在开发一个Android应用程序,其中需要提供读写外部存储的权限.我的要求是从图库中选择一张图片并在我的应用中使用它.除了棉花糖设备外,一切正常.我想为Marshmallow提供许可.谁能帮我这个?

android read-write android-permissions android-6.0-marshmallow

11
推荐指数
1
解决办法
3万
查看次数

如何在iOS,模拟器和设备上读/写文件?

因为我需要在我的应用程序启动时读取文件并在使用它时有时写入,我试图通过以下方式达到它:

NSString *dataFile = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"];
NSLog(@"%@",dataFile);
Run Code Online (Sandbox Code Playgroud)

而应该在我的项目文件夹中的文件是在模拟器文件夹中:

2012-06-13 17:36:56.398 MyFileApp [610:15203]/Users/Rob/Library/Application Support/iPhone Simulator/5.1/Applications/1FFD4436-DCCA-4280-9E47-F6474BEE0183/MyFileApp.app/myFile.txt

因此,如果我想使用模拟器和真实设备进行读/写,我该怎么办?

谢谢你的建议

objective-c read-write nsfilemanager ios

10
推荐指数
1
解决办法
3万
查看次数

Python Write 在 Windows 中将“\n”替换为“\r\n”

这里查看我的问题后,我发现它是由一个更简单的问题引起的。

当我写入"\n"文件时,我希望"\n"从文件中读入。在 Windows 中并非总是如此。

In [1]: with open("out", "w") as file:
   ...:     file.write("\n")
   ...:

In [2]: with open("out", "r") as file:
   ...:     s = file.read()
   ...:

In [3]: s  # I expect "\n" and I get it
Out[3]: '\n'

In [4]: with open("out", "rb") as file:
   ...:     b = file.read()
   ...:

In [5]: b  # I expect b"\n"... Uh-oh
Out[5]: b'\r\n'

In [6]: with open("out", "wb") as file:
   ...:     file.write(b"\n")
   ...:

In [7]: with …
Run Code Online (Sandbox Code Playgroud)

windows read-write python-3.x

10
推荐指数
1
解决办法
5193
查看次数

如果你不在Perl中关闭文件句柄会发生什么?

如果我正在编写一个Perl脚本,用STDOUT的副本覆盖STDERR,但我从不恢复文件句柄,那么在脚本执行结束时会发生什么?我找不到任何警告实际发生或不发生的事情.

我可能被误导了,但感谢你的耐心等待.

perl stdout read-write stderr filehandler

9
推荐指数
1
解决办法
589
查看次数

是否需要用于构建读/写应用程序的NFC读写器acr122u设备的SDK?

我有nexus s,nexus 4和6 mifare nfc标签,并希望使用nfc reader/writer acr122u设备制作桌面应用程序(我尚未购买).

但除了android sdk之外,是否还需要一些其他SDK来通过eclipse与java制作桌面应用程序?或者我可以直接购买和使用acr122u设备(没有sdk)并通过eclipse制作应用程序?

如果需要SDK,是否有任何链接可以免费下载或者我必须从供应商处购买?


还有一件事,nexus S和ACR122U是否支持felica nfc卡?
我有mifare经典的nfc卡,它与它们配合良好.

android read-write nfc

9
推荐指数
1
解决办法
2万
查看次数

如何将熊猫数据帧逐行写入 CSV 文件,一次一行?

我有一个大约 100 万个地址的列表,以及一个查找它们的纬度和经度的函数。由于某些记录格式不正确(或出于任何原因),有时该函数无法返回某些地址的纬度和经度。这将导致 for 循环中断。因此,对于成功检索到纬度和经度的每个地址,我想将其写入输出 CSV 文件。或者,也许不是逐行写入,以小块大小写入也可以。为此,我df.to_csv在“追加”模式 ( mode='a') 中使用,如下所示:

for i in range(len(df)):
    place = df['ADDRESS'][i]
    try:
        lat, lon, res = gmaps_geoencoder(place)
    except:
        pass

    df['Lat'][i] = lat
    df['Lon'][i] = lon
    df['Result'][i] = res

    df.to_csv(output_csv_file,
          index=False,
          header=False,
          mode='a', #append data to csv file
          chunksize=chunksize) #size of data to append for each loop
Run Code Online (Sandbox Code Playgroud)

但问题在于,它正在为每个附加打印整个数据帧。因此,对于n行,它将写入整个数据帧n^2时间。如何解决这个问题?

python read-write writetofile pandas

8
推荐指数
1
解决办法
1万
查看次数